asp.net – Difference between executionTimeout and Server.ScriptTimeout

asp.net – Difference between executionTimeout and Server.ScriptTimeout

As for the executionTimeout setting for ASP.NETs <httpRuntime>
configuration not work problem. The documentation on this attribute is really not very clear. The problem is caused by the following reasons:

  1. 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.

  1. 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 dont
    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

Im afraid there is no means in asp.nets runtime setting since the
asp.nets runtime request processing management cant 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 were 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.

From this page, some official info:
https://msdn.microsoft.com/en-us/library/system.web.httpserverutility.scripttimeout%28v=vs.110%29.aspx

The ScriptTimeout property can be set in the Web.config file by
setting the executionTimeout attribute of the element. Setting the
time-out programmatically with the ScriptTimeout property takes
precedence over the Web.config setting.

I just thought it might be beneficial to note that Microsoft says executionTimeout is the same property as ScriptTimeout.

asp.net – Difference between executionTimeout and Server.ScriptTimeout

executionTimeout

Optional TimeSpan attribute.
Specifies the maximum number of seconds that a request is allowed to execute before being automatically shut down by ASP.NET.
This time-out applies only if the debug attribute in the compilation element is False. To help to prevent shutting down the application while you are debugging, do not set this time-out to a large value.
The default is 00:01:50 (110 seconds).

ScriptTimeout

A default ScriptTimeout can be set for a Web service or Web server by using the AspScriptTimeout metabase property. The ScriptTimeout property cannot be set to a value less than that specified in the metabase. For example, if NumSeconds is set to 10, and the metabase setting contains the default value of 90 seconds, scripts will time out after 90 seconds. However, if NumSeconds were set to 100, the scripts would time out after 100 seconds.

Leave a Reply

Your email address will not be published.