I have trouble with request timeouts on a web page (.NET 2) which performs a large data import via a web service, and hence it may take several minutes to load.
If I run the page on IIS6, I can avoid these timeouts by increasing the request execution timeout from 110 seconds to a bigger value. To do this I go to the site properties ---> ASP .NET tab ---> Edit Configuration ---> Application tab and change the request execution timeout value from there. Making the httpRuntime executionTimeout value bigger in web.config does not work, but this trick helped.
On IIS7 I've tried:
- increasing the httpRuntime executionTimeout value in the site's web.config
- increasing the Connection Time-out (site's advanced settings ---Behavior ---> Connection Limits)
- increasing the application pool's Ping Max Reponse Time
- disabling the application pool's PingEnabled setting
- moving the site on the Classic .NET app pool
- writing a message on the page and issuing a Response.Flush() every few seconds
Unfortunately nothing worked. I receive the "HttpException (0x80004005): Request timed out" after ~2 minutes. The event ID from the Windows Appkication log is 3001 (the request has been aborted).
How can I change the request execution timeout in IIS 7? Is there any setting in IIS7 that corresponds to the IIS6 "request execution timeout"?
(*)I know that such web pages should not exist. The best thing to do in this case is re-thinking the import process and using for example SSIS or even TSQL scripts. But my customer is not willing to invest more in this and I have to stick with what I have for now and make this import run on IIS7 As far as I know there is no database performance issue in this case.
Thank you...