我正在为OData服务的一些超时而苦苦挣扎。我的第一个想法是更改超时属性,但我找不到正确的位置来执行此操作。请求超时集应该在哪里以及如何?,有什么最佳做法吗?。
答案 0 :(得分:1)
如果您使用的是ODataClient(DataServiceContext),则它具有可以设置的Timeout属性。如果您使用自己的客户端,那么它取决于您使用什么技术发送请求 - HttpWebClient,HttpListener,HttpClient等。它们都具有设置适当超时的属性。
希望这会有所帮助。 谢谢 PRATIK
答案 1 :(得分:0)
不确定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"