Проблема HTTP-запроса в службе Windows - PullRequest
0 голосов
/ 28 октября 2009

Мы написали службу Windows, которая должна отправлять HTTP-запрос для отправки некоторых XML-данных на другой сервер. Когда мы тестируем код через консольное приложение, он работает нормально, но когда мы тестируем его, запуская его как службу, он выдает ошибку в этой строке кода:

var httpWebRequest = (HttpWebRequest)WebRequest.Create(Uri);

Сообщение об ошибке:

"Configuration system failed to initialize"

Мы думаем, что ошибка связана с тем, что учетная запись пользователя, под которой работает служба Windows, не имеет разрешений для выполнения HTTP-запросов, мы пытались запустить ее под учетной записью локального администратора, но безрезультатно. Речь не идет о вводе имени пользователя и пароля, потому что когда мы запускаем код как консольное приложение, приведенная выше строка кода работает нормально.

Любые предложения с благодарностью! Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 28 октября 2009

У вас есть пользовательские настройки? Для службы Windows не загружен какой-либо профиль пользователя (то есть до тех пор, пока вы не загрузите его самостоятельно), поэтому настройка области действия пользователя будет отсутствовать.

0 голосов
/ 28 октября 2009

Вряд ли это проблема безопасности.

Судя по таким сообщениям:

http://blogs.msdn.com/jongallant/archive/2008/03/02/configuration-system-failed-to-initialize-one-possible-solution.aspx похоже, это из-за проблемы с файлом конфигурации. Я предполагаю, что "Uri" - это некое свойство, которое инициализируется при просмотре файла конфигурации.

Проблема здесь может быть вызвана либо несовместимым конфигурационным файлом, либо службой, загружающей файл конфигурации из какого-то странного места (так как он работает как служба). Возможно, вы захотите посмотреть на procmon от sysinternals, чтобы увидеть, что загружает ваш сервис при запуске.

...