C # -WebRequest в службе Windows - PullRequest
1 голос
/ 30 июля 2009

В настоящее время я разрабатываю службу Windows для загрузки некоторых электронных писем в фоновом режиме. Для удобства тестирования ядро ​​этой службы может быть запущено и в отдельном приложении. Нет проблем при загрузке почты (сервисной и автономной), но я не могу получить веб-запрос при запуске сервиса (все можно найти в автономном приложении). Я знаю, что службы Windows ограничены локальной системной учетной записью, но есть ли способ работать с (Http-) WebRequest, не меняя пользователя службы вручную.

Спасибо заранее, Bert

1 Ответ

1 голос
/ 27 августа 2012

Вы пробовали отключить прокси?

У меня была та же проблема, и настройка прокси на ноль исправила таймауты.

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Proxy = null; // bypass autodetect proxy

При запуске в качестве автономного приложения будут использоваться настройки прокси-сервера учетной записи. При запуске в качестве службы используется локальная учетная запись службы и используются настройки прокси-сервера по умолчанию.

Вы также можете попытаться добавить точку останова и найти поле прокси с вашим отладчиком. Это даст вам лучшее представление о «запущенном контексте службы»

System.Diagnostics.Debugger.Break();
...