This is just a wild guess, but it sounds like you might be running into the
"at most two outbound connections from one client to the same HTTP server"
limitation (as per HTTP 1.1 specification). To work around the problem you
can try increasing this value from 2 through the maxconnection attribute in
web.config.
Note that increasing the value does not really solve the problem, it merely
postpones it.
The outbound connection limit could be causing the problem because if the
web page request (which is making the outbound web service call) times out
before the web service call completes, then it might leak the socket. If
this happens twice, then the next outbound call to the same web service will
block until the web application is restarted.
If this indeed is the source of the problem, to really solve it, apply the
recommendations in [1] to make sure the outbound web service calls get
cleaned up properly.
[1]
http://msdn.microsoft.com/library/de...netchapt10.asp
(the section about Timeouts).
Regards,
Sami
"JD" <no@address.org> wrote in message
news:uNhaRzRaEHA.752@TK2MSFTNGP09.phx.gbl...[color=blue]
> Hello,
>
> I'm experiencing a problem that I'm hoping someone might be able to shed
> some light on.
>
> I have an ASP.NET page on a Windows 2000 machine that makes web service
> calls to a .NET web service. Once in a while the ASP.NET process gets to a
> state where the web service call to the web service hangs and then does a
> timeout. While the ASP.NET process is in this state, looking at the TCP
> connections, the TCP connection never shows up for the web service[/color]
request.[color=blue]
> I've seen it start happening after a week, and then sometimes after a[/color]
couple[color=blue]
> of months, pretty random. If I kill the ASP.NET process, all is well[/color]
again.[color=blue]
>
> I created an ASPX file that does various tests while the ASP.NET process[/color]
is[color=blue]
> in this state and here are some of the results:
> - If I hit the web service with a browser from the ASP.NET machine its[/color]
able[color=blue]
> to retrieve web service's method descriptions and soap message layout.[/color]
This[color=blue]
> does not involve my ASPX test file. Looking at the TCP connections, the
> connection shows up.
> - If I do a HTTP web request to the web service from the ASPX file that is
> run inside the problem ASP.NET process, it hangs and times out. Looking at
> the TCP connections, it does not show up at all.
> - If I do any HTTP web request to the web service server from the ASPX[/color]
file[color=blue]
> that is run inside the problem ASP.NET process, it hangs and times out.
> Looking at the TCP connections, it does not show up at all.
> - If I do a HTTP web request to any other server than the web service[/color]
server[color=blue]
> from the ASPX file that is run inside the problem ASP.NET process, it
> succeeds. Looking at the TCP connections, the connection shows up.
> - If I do a TCP connect on port 80 to the web service server from the ASPX
> file that is run inside the problem ASP.NET process, it succeeds. Looking[/color]
at[color=blue]
> the TCP connections, the connection shows up.
>
> The code that does the web service call uses the Visual Studio
> auto-generated proxy. At first I looked at the proxy code to see if I[/color]
should[color=blue]
> be doing a dispose or close of some sort but it doesn't look like I need[/color]
to.[color=blue]
> If I had to guess it looks like there is some sort of pooling going on
> within the HTTP library, and what ever is getting pooled for that server[/color]
is[color=blue]
> either deadlocked or in a bad state. Any ideas?
>
> TIA
> JD
>[/color]