zoukankan      html  css  js  c++  java
  • 如何设置ASP.NET页面的运行超时时间

    全局超时时间

    服务器上如果有多个网站,希望统一设置一下超时时间,则需要设置 Machine.config 文件中的 ExecutionTimeout 属性值。
    Machine.config 文件位于 %SystemRoot%Microsoft.NETFramework\%VersionNumber%CONFIG 目录中。
    例如:

    1
    <httpRuntime executionTimeout="90" maxRequestLength="4096" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="100" />

    单个站点超时时间
    Web.config配置文件中设置http请求运行时间:

    1
    2
    3
    <system.web>
    <httpRuntime maxRequestLength="102400" executionTimeout="720" />
    </system.web>


    这里设置的为720秒,前面的属性maxRequestLength一般用于用户上传文件限制大小!默认一般为4096 KB (4 MB)。

    单个页面请求超时时间
    对于单个页面,可以使用Server.ScriptTimeout来设定超时。

    1
    Server.ScriptTimeout = 120;

     

    注意:如果在Web.config里设置了debug属性,例如:<compilation debug="true" targetFramework="4.0">
    此时,ScriptTimeout会被忽略。

    Asp.Net各种超时问题总结

     
    在数据库或者请求操作时,如果选择的时间段过短或操作数据量过大,就会遇到"请求超时"的的问题,网络上提供很多解决方案,但普遍不完善,根据个人经验及参考网络解决方案,先将其汇总如下:

       
    根据错误类型,大致分为如下几种情况
      1:Asp.net请求超时
      2:IIS请求超时
      3:数据库连接超时
      4:
    数据库操作超时
      5:应用程序池回收(低)
      6:Webservice等服务请求超时 

    下面根据上述情况一一作出处理
    1:Asp.net请求超时
      http请求超时可以在webconfig中进行全局配置,(单位为秒,默认为90秒)如下
        <system.web> 

         <httpRuntime maxRequestLength="102400" executionTimeout="180" /> 

        system.web>

    2:IIS请求超时
      直接去IIS进行设置:IIS-网站-属性  
    设置一个较大的值,但是不能太大,具体情况具体分析。

    3:数据库连接超时
      在配置数据库连接字符串的时候一起配置
      <connectionStrings>
        <add
    name="MarketingMate" connectionString="Data Source=192.168.1.1;
    Database=MarketingMate; User Id=sa; Password=123; Connect Timeout=30;Min Pool
    Size=16;Max Pool
    Size=100;"
           providerName="System.Data.SqlClient"/>   

      connectionStrings>

    4.
    数据库操作超时
      数据库操作超时目前还没有全局设置方法,只能设置Command类的CommandTimeOut属性(单位为秒,默认为30秒)
      
    context.CommandTimeout = 180; 


     5:应用程序池回收(底)这种出现的情况很低,请酌情设置
      应用程序池会在一定的时间内回收线程,直接设置即可:应用程序池--属性--回收工作进程


     6:Webservice等服务请求超时 (这种是参考网上提供的解决方法,本人没遇到过)
      扩大代理类的超时限制,默认是90秒 
    ,即在调用方法前指定超时时间。
      [csharp]YourWebService yws = new YourWebService();
    yws.Timeout = 1200000; //20分钟,单位是毫秒[/csharp]
      如果将 Timeout 属性设置为
    Timeout.Infinite,则指示该请求无超时。即使 XML Web services 客户端可以将 Timeout 属性设置为无超时,Web
    服务器仍可以在服务器端使请求超时。
  • 相关阅读:
    Servlet中通过过滤器实现统一的手动编码(解决中文乱码)
    【原】使用Maven完成自动化打包并部署到Linux服务器下(Tomcat7)
    XListview的下拉刷新、上拉加载、用Pull解析XML
    gson解析
    数据库查询
    Android中用友盟实现QQ的第三方登录
    Listview和checkbox多选
    ScrollView嵌套ViewPager 时候 Pager左右滑动不流畅
    字符串的截取
    倒计时
  • 原文地址:https://www.cnblogs.com/itjeff/p/4626765.html
Copyright © 2011-2022 走看看