0
我正在使用HttpWebRequest傳輸文件。工作流程是這樣的:在回調中嘗試獲取WebResponse的例外
webRequest.BeginGetRequestStream(new AsyncCallback(WriteToStreamCallback), webRequest);
在WriteStreamToCallback:
HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
Stream requestStream = webRequest.EndGetRequestStream(asynchronousResult);
寫字節到requestStream,然後調用:在ReadHttpResponseCallback發生
webRequest.BeginGetResponse(new AsyncCallback(ReadHttpResponseCallback), webRequest);
例外:
HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState;
// The next line throws a WebException
HttpWebResponse webResponse = (HttpWebResponse)webRequest.EndGetResponse(asynchronousResult);
唯一的例外是:
A first chance exception of type 'System.Net.WebException' occurred in System.Windows.dll
The remote server returned an error: NotFound.
可以在該應用從此一蹶不振?可能是什麼原因?它是間歇性的;這是一個時間問題?
感謝任何見解...
UPDATE:
private void ReadHttpResponseCallback(IAsyncResult asynchronousResult)
{
try
{
HttpWebRequest webRequest = (HttpWebRequest) asynchronousResult.AsyncState;
// The next line throws the exception
HttpWebResponse webResponse = (HttpWebResponse) webRequest.EndGetResponse(asynchronousResult);
/* SNIP */
}
catch (WebException webEx)
{
System.Diagnostics.Debug.WriteLine(string.Format(" {0} {1}", "ReadHttpResponseCallback - WebException", webEx.Message));
}
catch (Exception xx)
{
System.Diagnostics.Debug.WriteLine(string.Format("{0} {1}", "ReadHttpResponseCallback", xx.Message));
}
}
文件沒有找到。 – leppie 2013-03-20 18:57:45
leppie:找不到地方?由於我正在寫一個流來上傳文件,因爲我獲得了該流而導致流無效了嗎?這不可能是指本地文件,當然... – Number8 2013-03-20 19:13:15
哦,對不起,我錯過了這是一個第一次機會例外的事實。這意味着它正在某處被處理。它可能是內部處理的異常,或者您可能會處理它。 – leppie 2013-03-20 19:16:41