繁体   English   中英

设置WCF数据服务超时

[英]Setting timeout for WCF Dataservice

我为OData服务的某些超时而苦苦挣扎。 我的第一个想法是更改timeout属性,但是我找不到正确的位置。 请求超时应该在哪里设置?如何设置?有没有最佳实践?

如果您使用的是ODataClient(DataServiceContext),则它具有一个可以设置的Timeout属性。 如果您使用自己的客户端,则取决于您使用哪种技术发送请求-HttpWebClient,HttpListener,HttpClient等。它们都具有设置适当超时的属性。

希望这可以帮助。 感谢Pratik

不确定OData服务,但通常在绑定本身上设置发送和接收超时属性。 我将BasicHTTPBinding用于我的Web服务,并且在主机上,以这种方式(在代码中)设置绑定:

BasicHttpBinding b = default(BasicHttpBinding);
b = new BasicHttpBinding(BasicHttpSecurityMode.None);
dynamic specialTimeSpan = new TimeSpan(0, 30, 0);
b.CloseTimeout = specialTimeSpan;
b.ReceiveTimeout = specialTimeSpan;
b.SendTimeout = specialTimeSpan;
b.OpenTimeout = specialTimeSpan;

这样可以将关闭,打开,接收和发送超时设置为30分钟。

在配置文件部署中,将如下所示:

<basicHttpBinding>
  <binding 
   closeTimeout="00:30:00" 
   openTimeout="00:30:00" 
   receiveTimeout="00:30:00"
   sendTimeout="00:30:00"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM