设置.NET Web服务的超时值

25 .net c# web-services timeout

我有一个用C#编写的Web服务,它位于SharePoint站点上.我使用以下代码修改了web.config:

<configuration>
  <system.web>
    <httpRuntime executionTimeout="360" />
Run Code Online (Sandbox Code Playgroud)

...

对于IIS Inetpub文件,SP ISAPI web.config文件和SP布局web.config.我还使用相同的代码修改了machine.config文件,并试图阻止我在IIS中看到的任何超时.

当我从Windows C#应用程序调用此Web服务时,我可以进入Web方法并开始调试变量,但在很短的时间后(约1分钟,可能更少),变量值不再存在,因为它返回:

System.Net.WebException"请求已中止:操作已超时."

我试图弄清楚需要设置正确的超时值以及如何设置.我在完成所有更改后重新启动IIS,但没有任何更改以提供不同的结果.

谢谢

p_c*_*amp 26

创建指定绑定和端点地址的客户端后,可以分配OperationTimeout,

client.InnerChannel.OperationTimeout = new TimeSpan(0, 5, 0);
Run Code Online (Sandbox Code Playgroud)


Mic*_*ern 25

尝试在Web服务代理类中设置超时值:

WebReference.ProxyClass myProxy = new WebReference.ProxyClass();
myProxy.Timeout = 100000; //in milliseconds, e.g. 100 seconds
Run Code Online (Sandbox Code Playgroud)