在Web服务调用的C#中捕获超时

时间:2017-01-13 01:26:51

标签: c# .net-4.0

我正在使用C#.Net异步调用Web服务,并希望添加超时。我无法弄清楚如何正确捕获超时异常。

我宁愿不使用通用的例外,因为它非常广泛。首选项是专门捕获超时异常并提醒用户超时。

当发生超时时,如果我打印出异常类型,我会得到System.Net.WebException。

有没有更好的方法来捕获超时异常?

        HttpResponseMessage response = new HttpResponseMessage();

        HttpClient client = new HttpClient();
        client.Timeout = new TimeSpan(1);

        client.BaseAddress = new Uri(dimURL);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

        //Response Code
        try
        {
            response = client.GetAsync(dimURL).Result;
        }
        catch (<CATCH TIMEOUT>)
        {

        }
        catch (Exception e)
        { }

1 个答案:

答案 0 :(得分:0)

您正在寻找WebExceptionHere是此页面的MSDN页面。