我可以在ASP.NET中为单个页面更改网页超时阈值吗?

Bes*_*ska 10 asp.net timeout

当用户点击链接时,我们会生成并实时提供报告.

当然,在我们上线之后,我们发现有些用户有足够的数据可以使报告运行得足够慢以至于超时.

从长远来看,我们只需创建一个定期查找已完成报告的页面,然后在准备就绪时加载它即可解决此问题.但就目前而言,如果有可能,我们希望快速解决当前问题.

有没有办法延长正在提供的单个网页的超时时间?

我发现似乎表明它有点可能(但这似乎是一个非常糟糕的主意,因为它在网络呼叫期间改变了整个网站,更糟糕的是,似乎它可能有多个命中同步的问题同样,可能会为整个网站留下更长的超时)

我也在本地找到了这个,但它最终没有回答这个问题(虽然它确实提供了我们将要走向的长期解决方案.)

jba*_*all 10

如果页面位于(或可以移动到)其自己的目录中,则可以将web.config放在该目录中,只包含executionTimeout或您要扩展的任何其他设置.即

<?xml version="1.0"?>
<configuration>
    <appSettings/>
    <connectionStrings/>
    <system.web>
      <!-- allow for intensive calculations in reports -->
      <httpRuntime executionTimeout="6000" /> 
    </system.web>
</configuration>
Run Code Online (Sandbox Code Playgroud)

根据您提供第一个链接上的评论者之一,设置Server.ScriptTimeout = 3600;不是全局更改,因此您可能也想重新考虑该选项.

Gerald 在2006年11月29日星期三下午3:38了一篇关于ASP.NET页面的超时 我决定通过编写一个包含两页的测试程序来检查它的有效性.在其中一个页面中,我将ScriptTimeout属性设置为3000,而在另一个页面中,属性的值不会更改.事实证明,在加载第一页,然后是第二页后,第二页中ScriptTimeout的值将恢复为其默认值(发布时为90秒,调试时为30000000)或配置文件中设置的值.总之,ScriptTimeout属性在一个页面中更改时,不会在全局级别更改.