I have a maintenance procedure running by night and during about a couple of minutes.
The browser must wait the end of procedure to show the result so I set Timeout=12000 in wc.ini to avoid timeout.
In Windows XP all is right, but in Windows 7 I see the browser wait only 30 or 60 seconds then stops to wait (without usual timeout message) so I cannot see the procedure's end result.
I set Timeout=12000 also on Windows 7 and I use the same browser (FireFox).
Please, how to set the browser's Timeout in Windows 7?
Thank you
You may also have to set the IIS timeout on the httpRuntime element.
https://msdn.microsoft.com/en-us/library/e1f13641%28v=vs.85%29.aspx
If you are using the .NET module the setting is also not made in wc.ini, but in web.config. Check the status page to see whether you are running wc.dll ISAPI or the Web Connection .NET Module.
+++ Rick ---
Dear Rick,
I have a maintenance procedure running by night and during about a couple of minutes.
The browser must wait the end of procedure to show the result so I set Timeout=12000 in wc.ini to avoid timeout.
In Windows XP all is right, but in Windows 7 I see the browser wait only 30 or 60 seconds then stops to wait (without usual timeout message) so I cannot see the procedure's end result.
I set Timeout=12000 also on Windows 7 and I use the same browser (FireFox).
Please, how to set the browser's Timeout in Windows 7?
Thank you
West Wind Technologies
Making waves on the Web
from Maui
The link you point to is in the ASP.Net section - will that affect the timeout for ISAPI COM?
Did you ever solve this? IE11 lowered the browser timeout to 30-60 seconds. There is a registry edit for this, but that is hardly helpful to end users who do not even know what a registry is. I have not found any way to force a change in this setting in IE
Ricks link: https://msdn.microsoft.com/en-us/library/e1f13641%28v=vs.85%29.aspx applies to IIS in web.config
Here's more complete info in the Documentation on configuring server request timeout:
Browsers are not supposed to time out - the server is supposed to timeout and let the client know. Per HTTP spec the browser shouldn't not terminate the session early, but of course there's always the option for them to do that.
Then again - if you have requests that take more than 30 seconds to run, you're probably doing it wrong. If that's the case you need to offload the processing to a background task that you ping for completion with AJAX requests (or Web Sockets). There should never be a case where a user stares at a blank screen waiting for a response for more than even 10 seconds.
+++ Rick ---
Normally I would agree with you. However in this case one person logs on and runs a series of lengthy reports and tasks. That is this person's job, and s/he waits. For regular users I would not do that.
IE does timeout after 1 minute, see https://support.microsoft.com/en-us/help/813827/how-to-change-the-default-keep-alive-time-out-value-in-internet-explor
http://smallbusiness.chron.com/change-ie-timeout-50787.html
IE can be adjusted via registry, but interesting that Chrome has no workaround to extend a timeout. https://superuser.com/questions/633648/how-can-i-change-the-default-website-connection-timeout-in-chrome
For now I told this person to download Firefox, which has none of these issues.
Hi Tuvia,
The issue isn't that it takes so long - there are plenty of use cases that require long running operations and those have to be handled.
The issue is that the UI of your application shouldn't be sitting there waiting for a request to come back for a minute or even 30 seconds. Plus you're locking up that Web Connection instance for 30 seconds - get somebody trigger happy to click that link a couple of times and you probably lock up your entire server pool.
This sort of thing is usually better handled by some sort of queuing of a job, or if you want to be hacky about it firing off a request via an Http Client (wwHttp) and calling another Web Connection Server request via SingleServer
mode that can process that request without UI. The SingleServer fires of a new server instance that's not restricted by the browser UI and that won't tie up your existing server pool - it'll just schlog along in the background. You do need some way to update a flag to know when you're done with the slow request so that the UI application can poll for completion every few seconds.
This is a poor mans queueing solution but for any application that is reasonably busy something along these lines is really required for stable operation. If you don't you're likely to lock up your application frequently.
+++ Rick ---
This is a 1 user application, and there are processes that run for 2-3 minutes that should not be offloaded. I have set every timeout I can find in IIS and WWWC (version 4) and still cannot get more than 90 seconds.
90 seconds sure sounds like the default Web Connection timeout (for the .NET Module)...
Windows XP uses a complete different server hosting model, so if there are differences that's to be expected.
@Michael - in IIS 7 and later web.config
and applicationhost.config
configure the Web server. <system.web>
configures ASP.NET and will be used only for the Web Connection .NET Module. Anything in <system.webServer>
affects both ASP.NET and ISAPI applications. If you have ASP.NET enabled in your Application Pool (as is the default) then that runtime default is applied even to ISAPI requests.
So I think the relevant IIS setting for the time is still <httpRuntime executionTimeout = "00:02:00">
element.
+++ Rick ---