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

时间:2010-02-10 17:17:42

标签: asp.net timeout

当用户点击链接时,我们会生成并实时投放报告。

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

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

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

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

我也在本地找到this,但它最终没有回答这个问题(尽管它确实提供了我们将要采用的长期解决方案。)

1 个答案:

答案 0 :(得分: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>

根据first link you provided上的评论者之一,设置Server.ScriptTimeout = 3600;并非全局变更,因此您可能也想重新考虑该选项。

  

Gerald 写了 re:ASP.NET的超时   页
   于2006年11月29日星期三下午3:38
   一世   决定检查这个的有效性   通过编写包含的测试程序   两页。在我的其中一个页面中   将ScriptTimeout属性设置为   3000,而在另一页   财产的价值不会改变。   事实证明,加载后   第一页,然后第二页,   ScriptTimeout的值   第二页恢复为默认值   价值(释放90秒,   调试30000000)或值集   在配置文件中。在   结论,ScriptTimeout   属性,当在一页中更改时,   不会在全球范围内发生变化。