Загруженный службой exe-файл не может 'System.Диагностика.Обработать.Запустить' URL-адрес?
-
21-08-2019 - |
Вопрос
У меня есть простая программа для создания значков в трее, которая открывает сайт с помощью
System.Diagnostics.Process.Start("URL")
И это прекрасно работает независимо, однако, когда служба загружает его, она выдает исключение file not found при попытке открыть URL, и после тестирования она может открывать обычные расширения, например .txt
(В службе включено взаимодействие с рабочим столом).
Решение
Если вы обрабатываете.Запускаете URL-адрес, он загружает приложение браузера, которое (для Vista / etc) не будет отображаться для службы (по тем же причинам, что и ваш последний вопрос).
Если вы хотите, чтобы приложение взаимодействовало с пользователем / рабочим столом, это не должно быть сервисом - оно должно просто запускаться при входе пользователя в систему.Обратите внимание, что любой дочерний процесс, создаваемый вашей службой, будет также будьте на сеансе службы.
Если вы просто хотите получить данные (с помощью кода) с сайта, используйте WebClient
и т.д.