我的應用程序每隔幾秒查詢我的服務器以進行更新。在HttpWebRequest.Abort下請求取消的異常
離開它運行了大約3天后,我觀察到應用程序崩潰了以下堆棧跟蹤。
正如您所知,在工作線程中獲取異常時,無法捕獲該異常,因此我的應用程序崩潰了。
System.Net.WebException: The request was canceled
System.Net.ServicePointManager.FindServicePoint(Uri address, IWebProxy proxy, ProxyChain& chain, HttpAbortDelegate& abortDelegate, Int32& abortState)
System.Net.HttpWebRequest.FindServicePoint(Boolean forceFind)
System.Net.AuthenticationState.PrepareState(HttpWebRequest httpWebRequest)
System.Net.AuthenticationState.ClearSession(HttpWebRequest httpWebRequest)
System.Net.HttpWebRequest.ClearAuthenticatedConnectionResources()
System.Net.HttpWebRequest.Abort(Exception exception, Int32 abortState)
System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
System.Threading.ThreadPoolWorkQueue.Dispatch()
我在網上看到了許多類似的線程。但所有擁有同樣籌碼的人都沒有得到任何幫助。
我也看到很多人建議設置我的HttpWebRequest
的屬性KeepAlive=false
,但是,這可能會傷害我的表現,並且是不可接受的。