如何增加Web服务请求的超时?

sac*_*haa 19 asp.net performance timeout

我有一个我无法修改的ASP.NET Web应用程序(我只有二进制文件).此应用程序连接到Web服务,似乎连接从客户端(我的Web应用程序)关闭.我已经增加了目标服务器的machine.config中的"executionTimeout",但是等待一段时间后我的网络应用似乎仍然停止.

有没有办法通过简单地修改web.config来增加我的Web应用程序的超时时间?正如我所说...我不能修改代码中的超时,所以我唯一的选择是通过配置文件.

谢谢!

The*_*hea 26

试试这是否适合你.

首先,您需要增加httpRuntime元素的executionTimeout属性的超时.请注意,这在Seconds中提到,与其他超时属性(如会话超时等)不同.

<httpRuntime 
    executionTimeout="36000"
Run Code Online (Sandbox Code Playgroud)

而且,只有将Compilation元素的debug属性设置为false时,此属性才会生效.这也在您提到的MSDN链接中指定.喜欢,

<compilation 
   debug="false" 
../>
Run Code Online (Sandbox Code Playgroud)

但这与会话超时一起使用.是的,如果会话超时,则会抛出错误.并且它不会等待executionTimeout值生效.所以你还需要将Session Timeout设置为更高的值.请注意,这只需几分钟.看起来像,

<sessionState 
    mode="InProc" 
    timeout="360"
    ...
    />
Run Code Online (Sandbox Code Playgroud)

请注意,所有这些都将被AppPool回收过程覆盖.因此,您需要将您的网站使用的Apppool的空闲超时值设置为至少与会话超时相同/更高的值.

我在这里找到了http://www.eggheadcafe.com/community/aspnet/17/10111748/how-can-we-increase-the-t.aspx

  • 36000秒= 600分钟 (2认同)

Ham*_*han 5

Web应用程序的默认超时为90秒,这通常足以用于通用目的.重要的是要注意超时的来源.是来自页面本身还是页面中引起它的东西.在任何一种情况下,似乎"页面"超时.

我偶然发现了这个问题.发现异常来自SQL(读取实际错误)所以它确实是SQL问题.一旦我知道了,我就可以轻松解决它.