jklo
asked on
Help! Explicit timeouts not being honored on Web Services on Vista Ultimate, IIS7
I've been struggling with this issue for quite some time, and cannot seem to find the right solution.
I have two classic ASP.NET applications, one of the applications hosts a bunch of web services. The other consumes the web services. One of the methods requires a long time to execute and runs synchronously.
On IIS7 and Vista Ultimate only (works on XP and Server 2003 w/ IIS6), the connection to the web service timesout. I've explictly set the executionTimeout on the httpRuntime element in the web.config to 3200 (1 hour). and in the instatiation of the proxy for the web service itself I set the timeout to infinity (i've tried 1 hour as well, with no luck).
Each time I try to execute a method that takes longer the 110 seconds, the connection to the web service times out. Anyone have any suggestions about what steps that I could take to resolve this, other that redesign the system to execute the web service asynchronously.
One thing to note, if I use the ASP.NET development web server which is part of Visual Studio 2005, the timeout issue disappears, and everything works fine. So I'm convinced this is specifically an issue with IIS7. I have to run on Windows Vista, as the web service interfaces with a remote compiler which needs the Vista API to link with as well as side by side assembly support, which leaves Orcas and Windows 2008 out for now.
I have two classic ASP.NET applications, one of the applications hosts a bunch of web services. The other consumes the web services. One of the methods requires a long time to execute and runs synchronously.
On IIS7 and Vista Ultimate only (works on XP and Server 2003 w/ IIS6), the connection to the web service timesout. I've explictly set the executionTimeout on the httpRuntime element in the web.config to 3200 (1 hour). and in the instatiation of the proxy for the web service itself I set the timeout to infinity (i've tried 1 hour as well, with no luck).
Each time I try to execute a method that takes longer the 110 seconds, the connection to the web service times out. Anyone have any suggestions about what steps that I could take to resolve this, other that redesign the system to execute the web service asynchronously.
One thing to note, if I use the ASP.NET development web server which is part of Visual Studio 2005, the timeout issue disappears, and everything works fine. So I'm convinced this is specifically an issue with IIS7. I have to run on Windows Vista, as the web service interfaces with a remote compiler which needs the Vista API to link with as well as side by side assembly support, which leaves Orcas and Windows 2008 out for now.
it could be a client side timeout waiting for the response as oppsed to the web server that is timeing out and terminating the session ... see if there are any paramters that you can set on the requesting side.
ASKER
The only client side timeout is that in the instantion of the Proxy object:
<code>
public static void ConfigureProxy(SoapHttpCli entProtoco l proxy)
{
if (proxy == null)
throw new ArgumentNullException("pro xy", "The SoapHttpClientProtocol parameter 'proxy' can not be null in a call to ProxyUtil.SetNetworkCreden tial()");
// Add a NetworkCredential instance to CredentialCache.
// Negotiate for NTLM or Kerberos authentication.
CredentialCache cache = new CredentialCache();
cache.Add(new Uri(proxy.Url), "Negotiate", new NetworkCredential(USERNAME , PASSWORD, DOMAIN));
//configure the proxy with the credential cache, suggest pre-auth, and set the timeout to one hour
proxy.Credentials = cache;
proxy.PreAuthenticate = true;
proxy.Timeout = System.Threading.Timeout.I nfinite;
}
</code>
It's clearly not the client itself timing out as the client application is able to catch the exception and display it. If the client were timing out, I would suspect an error that I wouldn't be able to catch on the client side, except through some external module.
<code>
public static void ConfigureProxy(SoapHttpCli
{
if (proxy == null)
throw new ArgumentNullException("pro
// Add a NetworkCredential instance to CredentialCache.
// Negotiate for NTLM or Kerberos authentication.
CredentialCache cache = new CredentialCache();
cache.Add(new Uri(proxy.Url), "Negotiate", new NetworkCredential(USERNAME
//configure the proxy with the credential cache, suggest pre-auth, and set the timeout to one hour
proxy.Credentials = cache;
proxy.PreAuthenticate = true;
proxy.Timeout = System.Threading.Timeout.I
}
</code>
It's clearly not the client itself timing out as the client application is able to catch the exception and display it. If the client were timing out, I would suspect an error that I wouldn't be able to catch on the client side, except through some external module.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Check out this page .. it has a lot of references to timeout values and sounds similar to your problems ... http://forums.asp.net/p/1101560/1807061.aspx
SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.