2010-02-10 42 views
10

当用户点击链接时,我们收到了一个正在生成并实时投放的报告。我可以在单个页面的ASP.NET中更改网页超时阈值吗?

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

长期来看,我们将通过创建一个页面来定期查找已完成的报表来解决此问题,并在准备就绪时加载它。但是现在,如果可能的话,我们希望尽快解决眼前的问题。

有没有办法延长单个网页的超时时间?

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

我在本地也发现了this,但它并没有最终回答这个问题(尽管它确实提供了长期解决方案, )

回答

10

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

<?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;不是一个全球性的变化,所以你可能要重新考虑这种选择也是如此。

杰拉德写道回复:一个ASP.NET页面
上周三的超时时间,2006年11月29日下午3时38
我 决定检查该 以书面形式有效性一个包含 两页的测试程序。在其中一页 中,将ScriptTimeout属性设置为 3000,而在其他页面中 的属性值未更改。 事实证明,加载 第一个页面,那么第二页之后,ScriptTimeout在 第二页 值回复到其默认 值(释放90秒 30000000调试)或设置的值 在配置文件中。在 的结论中,ScriptTimeout 属性在一页中更改时, 在全局级别上不会更改。

+0

两个很好的答案之一。希望我可以为你投票两次。在我放弃这些之后会回来接受。 – Beska 2010-02-10 17:51:51

+0

对。现在我只需要在我的手指周围绑上一根绳子(或一个球和一条链),以确保它最终得到正确的修复。非常感谢。 – Beska 2010-02-10 18:10:11

+0

(为了记录,我使用了第二个选项,但我怀疑第一个工作的效果也会如此。) – Beska 2010-02-10 18:10:45

相关问题