如何在asp.net中增加web服务的超时时间?

Pri*_*nka 24 .net web-services timeout winforms

我创建了一个asmx类型的Web服务.我在.net Windows应用程序中使用我的Web服务.

来自Web服务的Web方法接收具有不同属性的我的类的对象和对象的字节数组转换,其中我以字符串的形式添加一个xml文件.当我的包含xml数据的字符串增加时,它会在向Web服务发送数据时给出"超时"错误.

如何增加Web服务的超时时间?

MOH*_*H3N 21

1 - 您可以在应用程序中设置超时:

var client = new YourServiceReference.YourServiceClass();
client.Timeout = 60; // or -1 for infinite
Run Code Online (Sandbox Code Playgroud)

它是在几秒钟内.

2 - 您还可以在web/app.config中的httpruntime标记中增加超时值:

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

  • 请注意,httpRuntime元素在此处:<configuration> <system.web> <httpRuntime executionTimeout ="600000"/> ... (6认同)
  • 根据https://msdn.microsoft.com/en-us/library/e1f13641(v=vs.100).aspx,属性以秒表示,而不是毫秒. (2认同)
  • 其实client.Timeout以毫秒为单位,这已由intellisense和本文确认:https://msdn.microsoft.com/zh-cn/library/ff647786.aspx#scalenetchapt10_topic14 (2认同)

Dav*_*ras 16

你可以用不同的方式做到这一点:

  1. 从代码中设置Web服务调用者的超时(不是100%肯定,但我认为我已经看到了这一点);
  2. 在Web引用中的Web服务代理的构造函数中设置超时;
  3. 在服务器端设置超时,Web服务应用程序的web.config.

有关第二种情况的详细信息,请参见此处:

http://msdn.microsoft.com/en-us/library/ff647786.aspx#scalenetchapt10_topic14

在这里有关最后一个案例的详细信息:

如何增加Web服务请求的超时?