views:

1654

answers:

1

Hello!

I'm seeing a very strange issue on our live platform that consists of four webserver Windows Server 2003 boxes sitting in a cluster behind an ISA server cluster. They are all running IIS 6. We have the need for webservice requests to be made from a .Net 2.0 webapp to the outside world so we have utilised the 'defaultProxy' configuration section to specify a proxy for outgoing requests as below:

<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>

As you can see, we have also specified a bypasslist so that webservice calls within our webapp that makes a call to a different website on the same server don't go through the proxy.

This works for the most part on our live system throughout the day but as the system comes under heavy load, the webservice requests that should bypass the proxy suddenly start to be routed through the proxy and will remain this way until an App Pool recycle is done. At this point, it goes back to how it should work. This happens on all four servers; generally within a few minutes of eachother.

I've outputted the proxy settings that are being used during the webservice call and I can see the bypasslist when everything is working correctly and the 'bypassed' property is 'true' for the local webservice url. However, when it goes wrong I can no longer see the bypasslist and the bypassed property is 'false'. The proxyaddress property remains the same all the time.

Not sure if it's a symptom or not but the only other very strange thing is that, when it's working correctly, the proxy object can be cast back to a WebProxyWrapper class but, when it stops working, it can be cast back to a WebProxy class.

Has anyone else experienced this issue or does anyone know why this might be happening?

A: 

Hmmm, sounds like a memory pressure or race condition when the configuration is reloaded.

Are you using the latest patches for Windows, IIS and the .NET framework on these machines? I've known Microsoft patches to sometimes include minor fixes that aren't listed in the KB list.

I'd recommend upgrading to Windows Server 2003 R2, .NET Framework v3.5 SP1, plus the subsequent security patches, since this configuration would probably have received the most testing.

devstuff
Excellent, thank you very much for the quick response. I had a look at the level of patches installed on the live servers and found that the following one had not been installed yet: http://support.microsoft.com/kb/951847. One of the 'fix' items in that patch is 'FIX: The System.Net.HttpWebRequest class may not maintain a persistent connection to a proxy in the .NET Framework 2.0' which looks to be exactly what we're seeing.I'll organise getting this installed and will post the outcome.Thanks again for your help!
Sam