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配置 修改 脚本超时 值

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

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

注意:如果页面使用了 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" />

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

(0)

相关推荐

  • php页面函数设置超时限制的方法

    本文实例讲述了php页面函数设置超时限制的方法.分享给大家供大家参考.具体方法如下: 碰到页面程序执行超时时会提醒Fatal error: Maximum execution time of 300 seconds exceeded 是因为程序执行时间超过了最大允许执行时间,解决办法我们总结了几个供大家选择. 对于函数我们可以常用下面方法,直接给函数设置超时时间来操作,代码如下: 复制代码 代码如下: declare(ticks = 1);     function a(){     sleep

  • 登录超时给出提示跳到登录页面(ajax、导入、导出)

    一.一般页面登录超时验证,可以用过滤器filter,如下: package com.lg.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequ

  • ajax提交session超时跳转页面使用全局的方法来处理

    在过滤器中写入如下方法: 复制代码 代码如下: public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest httprequest = (HttpServletRequest) request; HttpServletResponse httpresponse =

  • JS实现页面超时后自动跳转到登陆页面

    JS代码: 复制代码 代码如下: <script language="javascript">   var myTime = setTimeout("Timeout()", 60000);   function resetTime() {       clearTimeout(myTime);       myTime = setTimeout('Timeout()', 60000);   }  function Timeout() {       al

  • 超过了脚本运行的最长时间..Server.ScriptTimeOut 属性指定新值

    为了有最高的性能,平台将Server.ScriptTimeOut的时间设置为15秒,就是说,一个ASP页面必须在15秒内在cpu中运行完成,如果不完成,就会出错. 有一些用户用大的论坛,需要长时间的计算,就有可能需要修改这个参数,修改办法: 打开IIS--本地计算机,点网站,右键---属性--主目录--配置--选项---ASP脚本超时时间,可以改为60-90秒.

  • Asp中Server.ScriptTimeOut属性需要注意的一点分析

    这个属性的服务器默认值是90,单位是秒,我们可以通过这样的代码输出这个值: 复制代码 代码如下: <% Response.Write Server.ScriptTimeOut Response.Write " Http://www.jb51.net" %> 由于IIS默认的ScriptTimeout值是90秒(其实是在IIS Metabase中设置的),所以我们可以在我们的程序中改变这个值: 复制代码 代码如下: <%Server.ScriptTimeOut=100%

  • Asp.Net各种超时问题总结

    在数据库或者请求操作时,如果选择的时间段过短或操作数据量过大,就会遇到"请求超时"的的问题,网络上提供很多解决方案,但普遍不完善,根据个人经验及参考网络解决方案,先将其汇总如下: 根据错误类型,大致分为如下几种情况 1:Asp.net请求超时 2:IIS请求超时 3:数据库连接超时 4: 数据库操作超时 5:应用程序池回收(低) 6:Webservice等服务请求超时 下面根据上述情况一一作出处理1:Asp.net请求超时 http请求超时可以在webconfig中进行全局配置,(单位

  • 设置ASP.NET页面的运行超时时间详细到单个页面及站点

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

  • .net让线程支持超时的方法实例和线程在执行结束后销毁的方法

    .net让线程支持超时 使用 CancellationTokenSource 复制代码 代码如下: private static void TimeoutTest1()        {            var cts = new CancellationTokenSource(); var thread = new Thread(() =>            {                Console.WriteLine(String.Format("线程{0}执行中&q

  • php设置页面超时时间解决方法

    有时候我的页面因为网络卡,会一直转,我想是不是可以给页面设置一个超时时间,多久没反应就提示超时 比如php里的set_time_limit(300) 我想不是php页面也有个超时机制 ------解决思路---------------------- php 里不就是set_time_limit() 吗,你还可以设置php.ini中的max_execution_time来改变全局超时时间. ------解决思路---------------------- max_execution_time --

随机推荐