ASP.NET 页面请求超时时间设置 Server.ScriptTimeout executionTimeout

本文详细介绍了ASP.NET中设置页面请求超时的方法,包括Server.ScriptTimeout、Web.config中的httpRuntime executionTimeout以及IIS配置。同时,文章指出UpdatePanel内部请求超时的特殊性,并提到了全局超时时间的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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)。若要避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。           
   
   
//单位秒
Server.ScriptTimeout = 60;

方法二: Web.config 配置  httpRuntime executionTimeout (单位秒)
     注意: 只有当  compilation  元素中的调试属性为  False  时,此超时属性才适用(true:ScriptTimeOut=30000000)。若要避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。
                httpRuntime executionTimeout   的设置可修改  Server.ScriptTimeout 的值, 使用 ScriptTimeout 属性以编程方式对超时值进行的设置优先于 Web.config 设置。
   
   
<system.web>
<compilation debug="false" targetFramework="4.0" />
<!-- 设置为600秒 Server.ScriptTimeout = 600 -->
<httpRuntime executionTimeout="600"/>
</system.web>
  
方法三:设置 HttpRuntimeSection.ExecutionTimeout 的值 ( 经测试,无效!!!不知如何使用!
     
     
System.Web.Configuration.HttpRuntimeSection configSection = new System.Web.Configuration.HttpRuntimeSection();
configSection.ExecutionTimeout = TimeSpan.FromSeconds(100);

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




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


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



注意:如果页面使用了 UpdatePanel,UpdatePanel 内部的请求分以下两种情况:
         ① 设置的超时值 >=90秒,UpdatePanel 内部的请求超时值将变为 90 秒!
         ② 设置的超时值 <90秒,UpdatePanel 内部的请求超时值将变为 所设置的值!

下图  Server.ScriptTimeout  = 5 秒,点击  UpdatePanel 内部的按钮, Thread.Sleep(20 * 1000) 秒,请求超时,但是页面看不到报错信息!
 而点击 UpdatePanel 外部的按钮,则会报如图1的 “请求超时”的错误信息!


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




全局超时时间
服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 Machine.config 文件中的 ExecutionTimeout 属性值。
Machine.config 文件位于  %SystemRoot%\Microsoft.NET\Framework\%VersionNumber%\CONFIG\ 目录中。
   
   
<httpRuntime executionTimeout="600" />

欢迎补充!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值