Моя служба WCF выдает ошибку при работе через службу Windows
-
29-10-2019 - |
Вопрос
Я создал одну службу WCF, в которой я читаю msn независимо от того, используются ли каналы и новые каналы через HttpWebRequest и HttpWebResponse с использованием кода C #. Когда я выполняю службу на своем локальном ПК, она работает нормально и правильно получает каналы, причем не только в моей системе, но и во всех наших сетевых системах. Я использую код CredentialCache.DefaultNetworkCredentials
, назначаемый в качестве учетных данных сети по умолчанию для учетных данных прокси HttpWebRequest, а также указываю код HttpWebRequest.DefaultWebProxy
для прокси HttpWebRequest. На моем компьютере все работает нормально. И когда я устанавливаю службу на нашем сервере в службы Windows и запускаю службу, каждый раз она выдает неожиданную ошибку, как показано ниже
Я не могу исправить эту ошибку в своем серверном приложении. Копируя uri, который я запрашиваю в своей службе, в браузер он получает каналы на сервере. Но почему он выдает исключение при работе через службу Windows (services.msc) ?? Надеюсь, что кто-нибудь поможет мне решить эту проблему.
РЕДАКТИРОВАТЬ:
На самом деле, до того, как я попытался указать имя пользователя и пароль прокси для учетных данных прокси, а также указал адрес прокси в записях конфигурации, в то время он работал нормально. Но мы планируем избавиться от бремени предоставления IP-адреса прокси, имени пользователя и пароля каждый раз. Итак, мы планировали предоставить его через сетевые учетные данные по умолчанию, которые сохраняются в системе, чтобы обойти прокси-сервер с помощью вышеуказанных шагов.
Решение
Есть ли в вашей компании прокси-сервер, требующий аутентификации?
Попробуйте запустить службу, используя вашу личность вместо встроенных (сетевая служба, локальная система), и посмотрите, поможет ли это.
РЕДАКТИРОВАТЬ:
Я полагаю, это может зависеть от того, как настроен прокси-сервер, но для использования настроек прокси по умолчанию вам может потребоваться, чтобы служба запускалась под учетной записью домена с правильно установленными этими свойствами.Разумеется, рекомендуется использовать выделенную учетную запись службы вместо собственной.
Также вы можете узнать, как настроить прокси в файле конфигурации вместо жесткого кодирования.