У меня следующая странная ситуация.
Я пытаюсь выполнить следующую последовательность кода в службе 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:
- Явно установил для прокси настройки запроса объекта копирования из IE (там используется прокси), и все заработало.
- Явно установил прокси в ноль, и это также сработало.
Теперь у меня есть несколько вопросов:
- Почему под IIS 7.5 исходный код не работает, однако в консольном приложении все работает как положено?
- В чем разница между исходным кодом и первым решением? Как я понимаю, если я не укажу прокси, по умолчанию будут применены настройки прокси IE. Однако оказывается, что решения не эквивалентны.
- Есть ли какое-либо другое решение для успешного вызова из WCF?