Webservice远程调试及超时操作原理解析

(编辑:jimmy 日期: 2024/12/23 浏览:2)

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秒。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。