欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET页面请求超时时间设置多种方法

程序员文章站 2023-01-10 13:20:42
asp.net 页面请求超时时间(页面后台程序执行时间)默认值为110秒(在 .net framework 1.0 版和 1.1 版中,默认值为 90 秒) 即: s...

ASP.NET页面请求超时时间设置多种方法asp.net

页面请求超时时间(页面后台程序执行时间)默认值为110秒(在 .net framework 1.0 版和 1.1 版中,默认值为 90 秒)

即:

server.scripttimeout = 110(httpserverutility.scripttimeout = 110)

system.web.configuration.httpruntimesection().executiontimeout.tostring() =00:01:50(110 秒)

方法一:设置 server.scripttimeout 的值

注意:设置的值必须大于90,否则不会生效,请求超时值依然是90秒 (网上流传的说法,经验证错误!!!)

只有当compilation元素中的调试属性为false时,此超时属性才适用(true:scripttimeout=30000000)。若要避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。

<span style="font-family: 'microsoft yahei';">//单位秒
server.scripttimeout = 60;</span>

方法二:web.config 配置httpruntime executiontimeout (单位秒)

注意:只有当compilation元素中的调试属性为false时,此超时属性才适用(true:scripttimeout=30000000)。若要避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。

httpruntime executiontimeout 的设置可修改server.scripttimeout的值,使用scripttimeout属性以编程方式对超时值进行的设置优先于web.config设置。

<span style="font-family: 'microsoft yahei';"><system.web>
 <compilation debug="false" targetframework="4.0" />
 <!-- 设置为600秒 server.scripttimeout = 600 -->
 <httpruntime executiontimeout="600"/>
</system.web></span>

方法三:设置httpruntimesection.executiontimeout 的值 (经测试,无效!!!不知如何使用!)https://msdn.microsoft.com/zh-cn/library/system.web.configuration.httpruntimesection.executiontimeout(vs.80).aspx

复制代码 代码如下:
system.web.configuration.httpruntimesection configsection = new system.web.configuration.httpruntimesection();
configsection.executiontimeout = timespan.fromseconds(100);

方法四:iis配置 修改 脚本超时 值

ASP.NET页面请求超时时间设置多种方法

ASP.NET页面请求超时时间设置多种方法

这个未确定 网站→高级设置:

ASP.NET页面请求超时时间设置多种方法

一样未确定 应用程序池→高级设置:

ASP.NET页面请求超时时间设置多种方法

注意:如果页面使用了 updatepanel,updatepanel 内部的请求分以下两种情况:

①设置的超时值 >=90秒,updatepanel 内部的请求超时值将变为 90 秒!

② 设置的超时值 <90秒,updatepanel 内部的请求超时值将变为 所设置的值!

下图server.scripttimeout= 5 秒,点击updatepanel 内部的按钮,thread.sleep(20 * 1000) 秒,请求超时,但是页面看不到报错信息!

而点击updatepanel 外部的按钮,则会报如图1的 “请求超时”的错误信息!

ASP.NET页面请求超时时间设置多种方法

下图server.scripttimeout= 100 秒,点击updatepanel 内部的按钮,thread.sleep(95 * 1000)//停止95秒; 实际上到90秒就超时了(如下面第二图)而点击updatepanel 外部的按钮,thread.sleep(95 * 1000)//停止95秒 ,请求成功!

ASP.NET页面请求超时时间设置多种方法

ASP.NET页面请求超时时间设置多种方法

=======================================================================================================================全局超时时间

服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 machine.config 文件中的 executiontimeout 属性值。machine.config 文件位于%systemroot%\microsoft.net\framework\%versionnumber%\config\目录中。

<httpruntime executiontimeout="600" />

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。