是否可以增加单个ASP.net页面的超时。我知道它可以在服务器级别,但是可以在页面级别吗?
我需要在单个报告页面上加载
需要2-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();
}