webservice接口等待时间_WebService超时的解决办法

本文探讨了Winform客户端调用Webservice时遇到的120秒超时问题,通过设置服务器web.config的httpRuntime执行Timeout和关闭debug模式,以及客户端Web服务代理的WebRequest超时时间来尝试解决。当这些常规方法无效时,作者进行了各种测试,最终发现是由于IE代理设置的超时时间限制导致的问题,提供了一个排查Webservice超时问题的思路。
摘要由CSDN通过智能技术生成

Winform客户端调用Webservice 120秒超时.对此问题,针对服务器与客户端分别作了超时设置为300S.

1. 服务器端设置超时

在 web.config 的 system.web 里添加如下配置项:

< httpRuntime

executionTimeout="300000"

/>

以上时间单位是秒.

记得要把 web.config 的 debug 模式关闭:

< compilation

defaultLanguage="c#"

debug="false"

/>

2. 客户端设置超时

在 WebService 的客户端代理程序(用 wsdl.exe 生成)里设置 Request 超时时间, 单位是毫秒:

protected override WebRequest GetWebRequest(Uri uri)

{

HttpWebRequest wr = (HttpWebRequest)base.GetWebRequest( uri );

wr.Timeout = 300*1000;

return wr;

}

但还是会出现120S超时.

此问题可以得出以下结论:

1:可能是服务器的问题

2:可能是客户端.net环境配置的问题

3:可能是网域的问题

4:可能是网路的问题

对此.分别作如下测试:

1:更换客户端电脑.测试有些电脑出现超时,有些电脑不会超时.可以肯定.服务器是没有问题

2:分别查看几台客户端电脑配置,以没有发现问题.

3:在同一个网域里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值