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

pw9qyyiw  于 5个月前  发布在  .NET
关注(0)|答案(4)|浏览(68)

我有一个ASP.NET Web应用程序,我不能修改(我只有二进制文件)。这个应用程序连接到一个Web服务,似乎从客户端(我的Web应用程序)关闭了连接。我已经在目标服务器的machine.config中增加了“executiontime”,但我的Web应用程序似乎在等待一段时间后仍然停止。
有没有一种方法可以通过简单地修改web.config来增加我的web应用程序的超时时间?正如我所说的.
谢谢你,谢谢

0aydgbwb

0aydgbwb1#

试试看这对你是否有效。
首先,你需要增加httpbox元素的executionTimeout属性的超时时间。注意,这是在Seconds中提到的,不像其他超时属性,如Session timeout等。

<httpRuntime 
    executionTimeout="36000"

字符串
而且,这个属性只有在你将Compilation元素的debug属性设置为false时才生效。这也是你提到的MSDN链接中指定的。比如,

<compilation 
   debug="false" 
../>


但是这与会话超时一起工作。是的,如果会话超时,那么将抛出错误。并且它不会等待执行超时值生效。所以您还需要将会话超时设置为更高的值。注意,这是以分钟为单位。这看起来像,

<sessionState 
    mode="InProc" 
    timeout="360"
    ...
    />


请注意,所有这些都将被AppPool回收过程覆盖。因此,您需要将网站使用的Apppool的空闲时间值设置为至少与会话超时相同/更高的值。
我在这里找到的http://www.eggheadcafe.com/community/aspnet/17/10111748/how-can-we-increase-the-t.aspx

2nc8po8w

2nc8po8w2#

Web应用程序的默认超时是90秒,这对于一般用途来说通常已经足够了。重要的是要注意超时来自何处。是页面本身还是页面中的某些内容导致了它。在任何一种情况下,都会出现“页面”超时。
我偶然发现这个问题,因为我的页面也超时了。发现异常来自SQL(阅读实际错误),所以这真的是SQL问题。一旦我知道了,我可以很容易地修复它。

yiytaume

yiytaume3#

在web.config文件中

<binding name="endpointname" sendTimeout="00:3:00" />

字符串
这将把超时属性更新为3分钟

jv4diomz

jv4diomz4#

在我的例子中,我有一个VB.NET桌面应用程序,其中配置了asmx服务。超时错误发生在一些国家,有时来自一些ISP。
问题是我在asmx请求中使用了http特定的URL。当我在asmx服务引用的URL中将http改为https时,问题就解决了。

相关问题