Webservice远程调试及超时操作原理解析
WebService远程调试
在.NET 中已经默认将WEBSERVICE的远程调试功能关闭,有的时候我们需要远程调试程序的时候,就需要打开此功能我们只需在WEBSERVICE的项目的中添web.config的<system.web>配置节下面加一下一段配置就OK了,代码如下:
<system.web> <compilation debug="true" /> <webServices> <protocols> <add name="HttpSoap"/> <add name="HttpPost"/> <add name="HttpGet"/> <add name="Documentation"/> </protocols> </webServices> </system.web>
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秒。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 。