在我的应用程序中,一个查询需要3分钟才能执行.我发现Default ExecutionTimeout值是110秒.我试图将其更改为500(秒),但它没有解决我的问题.某处我发现该设置<compilation debug="false">允许配置ExecutionTimeout属性.但是,即使这样也没有解决我的问题.
有谁知道如何为长时间运行的查询增加执行超时?
huM*_*pty 106
.NETFramework 1.0和1.1的执行超时为90秒,否则为110秒.
如果你需要更改defult设置,你需要在你的web.config下面做<httpRuntime>
<httpRuntime executionTimeout = "number(in seconds)"/>
Run Code Online (Sandbox Code Playgroud)
但要记住:
仅当编译元素中的debug属性为False时,此超时才适用.
详细了解一下编译元素
看看这个关于httpRuntime Element的文档
Adi*_*dil 23
您可以executionTimeout在web.config中设置以支持更长的执行时间.
executionTimeout指定在ASP.NET自动关闭之前允许执行请求的最大秒数.MSDN
<httpRuntime executionTimeout = "300" />
Run Code Online (Sandbox Code Playgroud)
这使执行超时为五分钟.
可选的Int32属性.
指定在ASP.NET自动关闭之前允许执行请求的最大秒数.
仅当编译元素中的debug属性为False时,此超时才适用.因此,如果debug属性为True,则不必将此属性设置为较大的值,以避免在调试时关闭应用程序.默认值为110秒,参考.
Zee*_*ek2 10
回覆."我们可以为单个页面设置此值" - MonsterMMORPG.
是的,您可以(通常应该)使用location-tag包含上一个答案.
例如
...
<location path="YourWebpage.aspx">
<system.web>
<httpRuntime executionTimeout="300" maxRequestLength="29296" />
</system.web>
</location>
</configuration>
Run Code Online (Sandbox Code Playgroud)
上面的代码段是从我自己工作的web.config结尾处获得的,我昨天测试过它 - 它对我有用.
当查询花费那么长时间时,我建议异步运行它并在完成时使用回调函数。
我对 ASP.NET 没有太多经验,但也许您可以使用 AJAX 来实现这种异步行为。
通常,网页应该在几秒钟内加载,而不是几分钟。不要让您的用户等待这么久!