web.config中的System.Net defaultProxy部分

时间:2009-09-15 09:19:21

标签: asp.net .net-2.0 iis-6 web-services web-config

我在我们的直播平台上看到一个非常奇怪的问题,包括四个 Web服务器Windows Server 2003框位于ISA服务器后面的群集中 簇。它们都运行IIS 6.我们需要webservice 请求从.Net 2.0 webapp到外部世界,所以我们有 利用'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>

如您所见,我们还指定了一个旁路列表,以便Web服务调用 在我们的webapp中,在同一台服务器上调用不同的网站 不要通过代理。

这大部分都适用于我们的实时系统全天,但是 系统负载很重,Web服务请求应该绕过 代理突然开始通过代理路由,并将保持这个 方式直到App Pool回收完成。在这一点上,它可以追溯到它 应该管用。这发生在所有四台服务器上;一般在几个之内 彼此的分钟。

我已经输出了在webservice期间使用的代理设置 当一切正常工作时,我可以看到旁路列表 对于本地webservice网址,'bypasssed'属性为'true'。然而, 当它出错时,我再也看不到旁路列表和旁路 财产是'假的'。 proxyaddress属性始终保持不变。

不确定这是否是一种症状,但唯一的另一个非常奇怪的事情是 当它正常工作时,代理对象可以被强制转换为 WebProxyWrapper类但是,当它停止工作时,它可以被强制转换为 WebProxy类。

是否有其他人遇到此问题或有人知道为什么会这样 发生?

1 个答案:

答案 0 :(得分:4)

嗯,重新加载配置时听起来像是内存压力或竞争条件。

您是否在这些计算机上使用Windows,IIS和.NET框架的最新补丁?我知道Microsoft补丁有时包括KB列表中未列出的小修补程序。

我建议升级到Windows Server 2003 R2,.NET Framework v3.5 SP1以及后续的安全补丁,因为此配置可能已经获得了最多的测试。