我有一个我无法修改的ASP.NET Web应用程序(我只有二进制文件)。此应用程序连接到Web服务,似乎连接从客户端(我的Web应用程序)关闭。我已经增加了目标服务器的machine.config中的“executionTimeout”,但是等待一段时间后我的网络应用程序似乎仍然停止。
有没有办法通过简单地修改web.config来增加我的Web应用程序的超时时间?正如我所说的......我无法修改代码中的超时,因此我唯一的选择是通过配置文件。
谢谢!
答案 0 :(得分:26)
尝试这是否适合您。
首先,您需要增加httpRuntime元素的executionTimeout属性的超时。请注意,这在Seconds中提到,不像其他超时属性,如会话超时和其他。
<httpRuntime
executionTimeout="36000"
此外,只有将Compilation元素的debug属性设置为false时,此属性才会生效。这也在您提到的MSDN链接中指定。像,
<compilation
debug="false"
../>
但这与Session超时一起使用。是的,如果会话超时,则会抛出错误。并且它不会等待executionTimeout值生效。所以你还需要将Session Timeout设置为更高的值。请注意,这只需几分钟。看起来像,
<sessionState
mode="InProc"
timeout="360"
...
/>
请注意,所有这些都将被AppPool回收流程覆盖。因此,您需要将您的网站使用的Apppool的空闲超时值设置为至少与会话超时相同/更高的值。
我在http://www.eggheadcafe.com/community/aspnet/17/10111748/how-can-we-increase-the-t.aspx
找到了它答案 1 :(得分:5)
Web应用程序的默认超时为90秒,这通常足以用于通用目的。重要的是要注意超时的来源。是来自页面本身还是页面中引起它的东西。在任何一种情况下,似乎“页面”都是超时的。
我偶然发现了这个问题。发现异常来自SQL(读取实际错误)所以它确实是SQL问题。一旦我知道了,我就可以轻松解决它。