As for the executionTimeout setting for ASP.NET's <httpRuntime>
configuration not work problem. The documentation on this attribute is really not very clear. The problem is caused by the following reasons:
This setting will take effect only when we set the "debug" to false in
web.config , like:
when set to "debug=true" mode
, the runtime will ignore the timeout setting.
- Even we set the
debug="false"
, the executionTimeout will still has some
delay when the value is very small. In fact, it is recommeded that we don't
set the timeout less than 1.5 minutes. And when we set the timeout to less
than 1 minute, the delay will span from 5 secs up to 15 secs. For example,
if we set executionTimeout="5", it may take a bout 15 seconds for the page
to timeout.
Server.ScriptTimeout property is a COM interface which is used in classic ASP. The executionTimeout of ASP.NET is the replacement of ScriptTimeout in asp.net , so we no longer need to use ScriptTimeout in asp.net.
In addition, as for
have the script ALWAYS terminate after 2 seconds
I'm afraid there is no means in asp.net's runtime setting since the
asp.net's runtime request processing management can't reach this level of
accuracy, 2 seconds is a too small value which may make the performance
very pool to monitor such a small interval. If we do need to let a
certain processing timeout, we can consider put the timeout logic in the
above application code level. For example, if we're executing SqlCommand ,
we can set the sqlcommand 's execution timeout. Or if we are executing a
async call in page code, we can set a timeout for the async call
Hope helps.