WebService 操作超时的问题及其解决办法

在执行 WebService 某些方法时会消耗较长的时间,当超出系统默认的时间长度时,系统就会报错。此时可做如下处理:

1、修改 app.config 文件,添加如下代码:

<httpRuntime executionTimeout="600" />

请求执行超时时间为600秒(默认为110秒)

2、设置  Web services 的 Timeout 属性

对 XML Web services 的同步调用的超时(以毫秒为单位)。默认为 100000 毫秒。

WebServiceTest.Service1 src = new TestWinApp.WebServiceTest.Service1();
            src.Url = txtAddress.Text;
            src.Timeout = -1;//1120 * 1000;单位为毫秒

指示 XML Web services 客户端等待同步 XML Web services 请求完成的时间(以毫秒计)。

提示:如果将 Timeout 属性设置为 Timeout.Infinite(=-1) ,则指示该请求无超时。即使 XML Web services 客户端可以将 Timeout 属性设置为无超时,Web 服务器仍可以在服务器端使请求超时。

系统将以上面两项设置的最小者作为操作超时的时间长度。



IIS对web service请求大小与超时的限制

默认请求大小不得超过2M, 重新设置的方法:在web.config中,
<httpRuntime executionTimeout="600" maxRqeustLength="32768"/>

同时,IIS Default Web Site控制界面可以设置"Connection timeout",默认值是120秒。

你可能感兴趣的:(WebService 操作超时的问题及其解决办法)