0
我正在做一個異步HttpWebRequest,如果失敗,我想調用一個備份Web服務。像這樣:HttpWebRequest異常處理
public void CallService1()
{
HttpWebRequest request = HttpWebRequest.Create("http://MyFirstWebService")
request.BeginGetResponse(this.CallService1Completed, request);
}
public void CallService1Completed(IAsyncResult result)
{
HttpWebRequest request = (HttpWebRequest)result.AsyncState;
try
{
using (HttpWebResponse response = (HttpWebResponse)request.EndGetResponse(result))
{
using (Stream responseStream = response.GetResponseStream())
{
// Use Data
}
}
}
catch (WebException webException)
{
if (?????)
{
CallBackupService2();
}
}
}
請記住,這是一個移動應用程序,你可能並不總是有互聯網連接。如果沒有互聯網連接,我不想撥打備用服務。如果第一個服務由於某種原因關閉,我只想調用備份服務。我會在上面的'IF'聲明中做什麼?
據我瞭解,我們建議嘗試HttpWebRequest的,而不是試圖做這樣的判斷是因爲,這是一個阻塞調用。沒有辦法通過WebException獲取這些信息,這也會更快。 – anon 2011-03-08 11:34:38
也可以使用WebException.Status字段。 http://msdn.microsoft.com/en-us/library/system.net.webexceptionstatus.aspx – ShahidAzim 2011-03-08 12:17:18