每页级别增加ASP.Net超时

时间:2010-06-24 09:28:16

标签: asp.net timeout

是否可以增加单个ASP.net页面的超时。我知道它可以在服务器级别,但是可以在页面级别吗?

我需要在单个报告页面上加载

需要2-3分钟

任何想法?

3 个答案:

答案 0 :(得分:30)

我认为你要找的是ScriptTimeout。您可以在页面中设置此内容:

Page.Server.ScriptTimeout = 60;

超时值以秒为单位。

另外,请注意以下事实:如果您在调试模式下运行,则会忽略此操作并将超时设置为最大值;我不认为这对你来说是一个问题,因为你增加了超时,而不是减少它。

答案 1 :(得分:15)

根据this page,我也可以验证,另一个实现此目的的好方法是将其添加到配置的configSection

  <location path="~/MyPage.aspx">
    <system.web>
      <httpRuntime executionTimeout="600"/>      
    </system.web>    
  </location>

然后,您还可以添加其他属性,例如maxRequestLength="204800"或其他部分,例如:

  <location path="~/MyPage.aspx">
    <system.web>
      <httpRuntime executionTimeout="6000" maxRequestLength="204800" />      
    </system.web>    
    <system.webServer>
      <security>
        <requestFiltering>
          <requestLimits maxAllowedContentLength="209715200" />
        </requestFiltering>
      </security>
    </system.webServer>
  </location>

希望这有帮助。

答案 2 :(得分:0)

我发现我的问题已通过增加SQL超时得到解决, 使用command.CommandTimeout = 100; 例如:

using (var connection = new SqlConnection(connectionString)) 
{
  connection.Open();
  SqlCommand command = new SqlCommand(queryString, connection);
  // Setting command timeout to 100 seconds
  command.CommandTimeout = 100;
  command.ExecuteNonQuery();
}