Firstly, you need to increase the timeout of the
executionTimeout attribute of the
httpRuntime element. Note that this is mentioned
in Seconds unlike the other timeout attributes like the Session timeout and others.
<httpRuntime
executionTimeout="36000"
And moreover, this attribute takes effect only when you set the debug attribute of the Compilation element to false. This is also specified in the MSDN link that you mentioned. Like,
<compilation
debug="false"
../>
But this works in conjunction with the Session timeout. Yes, if the session times out , then an error would be thrown. and it wouldn't wait for the executionTimeout value to take effect. so you also need to set the Session Timeout to a higher value. And note that this is in minutes. which would look like,
<sessionState
mode="InProc"
timeout="360"
...
/>
And note that all of this would be overriden by AppPool recycling process. so you need to
set the Idle Timeout value of the Apppool that your website uses to atleast same / higher value than the session timeout.
Refereced Address:
http://www.eggheadcafe.com/community/asp-net/17/10111748/how-can-we-increase-the-timeout-of-a-thread-from-webconfig.aspx