2013-09-30 50 views
0

代碼看起來像這樣HTTPS請求超時,服務器重啓後

var request = WebRequest.Create(new Uri(reqStr, UriKind.Absolute)); 
       request.Method = "POST"; 
       request.Timeout = 15000; 

Stream dataStream = request.GetRequestStream();    
WebResponse response = request.GetResponse(); 

var dataStreamResp = response.GetResponseStream(); 

我把它每10秒,並能正常工作。如果我禁用我的本地連接,然後啓用,它計數工作。但是,當服務器重新啓動時,我收到timout異常(服務器在重新啓動後工作)。問題是什麼?

回答

0

看來您的服務器需要超過15秒的時間才能啓動並啓動服務請求。

如果請求正在處理中,並且正在等待響應並且服務器關閉了連接而不是發送響應,則會引發不同的異常。

我建議安裝Fiddler2並觀察請求發生了什麼。你應該能夠看到請求是否在服務器啓動後開始,以及服務器在這種情況下做了什麼(關閉連接,最終發送響應等)。

然後,您也可以使用Fiddler保存請求,並在重新啓動服務器(幾秒鐘之內)後重播它,以確認獨立的HTTP客戶端看到與您的代碼相同的結果,這樣您就會知道它不是不值得調試您的客戶端代碼,因爲問題出在您的服務器上,啓動時間太長。

Harold

相關問題