我使用C#WebClient連接到Firebase REST API。示例:連接到Firebase的高負載WebClient錯誤rest api
using (WebClient webClient = new WebClient())
{
webClient.UploadString(restUrl, "PATCH", jsonDataString);
}
在它的偉大工程,但在某些時候,我開始得到這個錯誤(錯誤被立即拋出,沒有延遲/超時)
System.Net.WebException: The underlying connection was closed:
A connection that was expected to be kept alive was closed by the server.
在許多要求中等負載在線服務器將出現此錯誤,但無法在測試環境中重現錯誤。 (同時存在實時錯誤)WebClient似乎正在使用保持活動連接,並在啓動新請求時發現連接已關閉,並引發異常。
我該如何解決這個問題?
我可以嘗試關閉保持活動,但這似乎效率低下。
可能會改變WebClient的某種超時(可能更短)修復它?它應該是什麼樣的價值?
添加異常處理重新嘗試請求?
如果您共享代碼的最小片段來重現問題,它會有所幫助。 – 2014-10-02 19:56:12
我編輯了你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2014-10-02 20:24:35
有很多原因會導致這種情況發生,比如服務器重新啓動,服務器崩潰,網絡暫時分區等等。您是否在問什麼時候需要做什麼? – 2014-10-02 20:27:07