Я использую .NET 2.0, чтобы сделать простой вызов веб-службы. Из большинства машин мне не нужно делать ничего особенного. Однако один клиент находится в корпоративной сети, которая использует сценарий автоматической настройки прокси. Почти все, что я могу найти (например, http://msdn.microsoft.com/en-us/magazine/cc300743.aspx#S3) говорит мне, что мне не нужно ничего делать. .NET будет читать настройки прокси-сервера из реестра и "просто работать". Да, верно.
Если клиент сначала использует свой браузер для просмотра URL-адреса веб-службы, то мой вызов веб-службы работает. Однако через некоторое время вызовы веб-службы перестают работать с ошибкой 407. (Требуется проверка подлинности прокси-сервера).
Я пытался явно настроить прокси (как предложено Получить конфигурацию прокси перед доступом к внешнему веб-сервису (.NET 2.0) ), но мне не повезло.
Я нашел эту статью базы знаний MS с информацией о вызове WinHttpGetProxyForUrl в WinHTTP.DLL. Если я вытаскиваю настройку autoconfigurl из реестра и использую ее при вызове WinHttpGetProxyForUrl, она, похоже, работает, но кажется, что идти туда просто неправильно. Кто-нибудь знает «правильный путь», чтобы заставить .NET использовать сценарий автоматической настройки прокси IE по умолчанию? Спасибо.