Выполнение HttpWebRequest из WCF, размещенного на IIS 7.5 - PullRequest
0 голосов
/ 10 октября 2011

У меня следующая странная ситуация.

Я пытаюсь выполнить следующую последовательность кода в службе WCF, размещенной в IIS 7.5 Express:

 var request = WebRequest.Create(some_uri) as HttpWebRequest;

 request.Method = "GET";
 request.Credentials = CredentialCache.DefaultNetworkCredentials;

 request.GetResponse();

При выполнении из службы WCF я получаю следующее исключение:

[WebException: невозможно подключиться к удаленному серверу]

и его внутреннее исключение:

[SocketException: не может быть установлено соединение, потому что цель машина активно отказывалась от этого 127.0.0.1:400]

Та же самая последовательность кода из консольного приложения выполнена успешно.

Я попробовал следующие вещи для кода, работающего под IIS 7.5 Express:

  1. Явно установил для прокси настройки запроса объекта копирования из IE (там используется прокси), и все заработало.
  2. Явно установил прокси в ноль, и это также сработало.

Теперь у меня есть несколько вопросов:

  1. Почему под IIS 7.5 исходный код не работает, однако в консольном приложении все работает как положено?
  2. В чем разница между исходным кодом и первым решением? Как я понимаю, если я не укажу прокси, по умолчанию будут применены настройки прокси IE. Однако оказывается, что решения не эквивалентны.
  3. Есть ли какое-либо другое решение для успешного вызова из WCF?

1 Ответ

2 голосов
/ 10 октября 2011

Код IIS выполняется под учетной записью пользователя IIS, для которой, вероятно, не настроен прокси-сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...