2010-10-22 35 views
4

我有一個使用WebHttpRequest擺脫外部服務器響應客戶端應用程序,它工作正常,但有些時候我發現了以下情況例外....引發WebException:無法連接到遠程服務器

System.Net.WebException:無法連接 到遠程服務器---> System.Net.Sockets.SocketException:一個 連接嘗試失敗,因爲 關聯方沒有正確一段時間後 響應,或 建立的連接失敗,因爲 連接的主機未能響應 xx.xx.xxx.xxx:xxx在 System.Net.Sockets.Socket.DoConnect處 系統 System.Net.Sockets.Socket.InternalConnect(端點 remoteEP)(端點 endPointSnapshot,爲SocketAddress SocketAddress的)。內 異常堆棧的Net.ServicePoint.ConnectSocketInternal(布爾 connectFailure,插座s4中,插座S6, 插座&插座,ip地址&地址, ConnectSocketState狀態,IAsyncResult的 asyncResult,的Int32超時,異常& 除外)---完跟蹤---

在 System.Net.HttpWebRequest.GetRequestStream(TransportContext & 上下文)

在 System.Net.HttpWebRequest.GetRequestStream()

....任何幫助嗎?

回答

3

這更多的是「請求超時」錯誤。您嘗試連接的服務器未響應您的請求。您應該使用try-catch處理此異常,並嘗試再次在catch塊中連接n次。

+0

我試圖通過增加超時,但沒有解決。它適用於許多請求,但在許多成功的事務處理中,這種異常被提出並沒有時間或數量的事務失敗模式。 – Yared 2010-11-02 16:40:50

+0

現在我收到了一個特定的錯誤 System.Net.WebException:底層連接已關閉:發送時發生意外錯誤。 ---> System.IO.IOException:由於遠程方關閉了傳輸流,認證失敗。在System.Net.Security.SslState.StartReceiveBlob(Byte []緩衝區,AsyncProtocolRequest asyncRequest)處的System.Net.Security.SslState.StartReadFrame(Byte []緩衝區,Int32 readBytes,AsyncProtocolRequest asyncRequest)處的 。 ---內部異常堆棧跟蹤結束--- – Yared 2010-11-02 18:04:34

+0

似乎服務器是問題,而不是你的代碼。服務器可能需要在連接期間設置某些選項。 – 2010-11-03 14:58:18

相關問題