HttpWebRequest异常处理

时间:2011-03-08 11:08:49

标签: c# .net exception-handling httpwebrequest

我正在制作异步的HttpWebRequest,如果失败,我想调用备份Web服务。像这样:

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”声明中加入什么。

1 个答案:

答案 0 :(得分:0)

可以实现如下:

if (NetworkInterface.GetIsNetworkAvailable())
{
   CallBackupService2();
}