System.Net defaultProxy раздел в web.config - PullRequest
3 голосов
/ 15 сентября 2009

Я вижу очень странную проблему на нашей живой платформе, которая состоит из четырех веб-сервер Windows Server 2003, сидящий в кластере за ISA-сервером кластер. Все они работают под управлением IIS 6. Нам нужен веб-сервис запросы от веб-приложения .Net 2.0 к внешнему миру, поэтому мы имеем использовал раздел конфигурации defaultProxy, чтобы указать прокси для исходящие запросы, как показано ниже:

<system.net>
  <defaultProxy>
    <proxy proxyaddress="http://cache.mydomain.co.uk:8080" 
           bypassonlocal="true" />
    <bypasslist>
      <add address="monkey.mydomain.com" />
      <add address="www.mydomain.com" />
      <add address="192.168.0.1" />
    </bypasslist>
  </defaultProxy>
</system.net>

Как видите, мы также указали обходной список, чтобы веб-сервис вызывал в нашем веб-приложении, которое звонит на другой сайт на том же сервере не проходите через прокси.

Это работает по большей части в нашей живой системе в течение дня, но как система находится под большой нагрузкой, запросы веб-службы, которые должны обойти прокси вдруг начнет маршрутизироваться через прокси и останется таким до тех пор, пока не завершится перезапуск пула приложений. На данный момент, это восходит к тому, как это должно сработать. Это происходит на всех четырех серверах; как правило, в течение нескольких минут друг друга.

Я вывел настройки прокси, которые используются во время веб-сервиса позвоните, и я вижу обходной список, когда все работает правильно и свойство 'bypassed' имеет значение 'true' для локального URL-адреса веб-службы. Тем не мение, когда это идет не так, я больше не вижу обходной список и обойденный свойство является «ложным». Свойство proxyaddress остается неизменным все время.

Не уверен, является ли это симптомом или нет, но единственная другая очень странная вещь что, когда он работает правильно, прокси-объект может быть приведен обратно к Класс WebProxyWrapper, но когда он перестает работать, он может быть приведен обратно к Класс WebProxy.

Кто-нибудь еще сталкивался с этой проблемой или кто-нибудь знает, почему это может быть происходит?

1 Ответ

4 голосов
/ 15 сентября 2009

Хммм, звучит как давление памяти или состояние гонки при перезагрузке конфигурации.

Используете ли вы последние патчи для Windows, IIS и .NET Framework на этих машинах? Я знаю, что исправления Microsoft иногда включают незначительные исправления, которых нет в списке в КБ.

Я бы рекомендовал обновить систему до Windows Server 2003 R2, .NET Framework v3.5 с пакетом обновления 1 (SP1) и последующих исправлений безопасности, поскольку эта конфигурация, вероятно, получила бы наибольшее количество испытаний.

...