2013-08-21 146 views
0

我一直在爲OData服務掙扎一段時間。我的第一個想法是更改超時屬性,但我找不到正確的位置來執行此操作。請求超時設置的位置以及如何設置?是否有最佳實踐?WCF Dataservice的設置超時

回答

1

如果您使用的是ODataClient(DataServiceContext),它有一個可以設置超時屬性。如果你使用自己的客戶端,那麼這取決於你使用什麼技術發送請求--HttpWebClient,HttpListener,HttpClient等。它們都有屬性來設置適當的超時。

希望這會有所幫助。 謝謝 Pratik

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"