异步HttpWebRequest捕获WebException

时间:2014-03-01 22:33:01

标签: c# asynchronous httpwebrequest httpwebresponse

我试图从异步WebException捕获HttpWebRequest以从api读取soap:fault。但它抛出了AggregateException。有没有办法捕获异步WebException的{​​{1}}?

HttpWebRequest

1 个答案:

答案 0 :(得分:3)

更改此

var response = task.Result;

到这个

var response = await task;

await返回任务结果解包AggregateException,如果有的话。


此外,.Result会阻止当前线程,直到结果可用,这可能不是您想要的,否则您只是使用阻塞GetResponse而不是异步{{1 }和BeginGetResponse

同样,你甚至不需要这两种方法。有一个更好的 - EndGetResponse

使用此:

GetResponseAsync

而不是:

var response = await req.GetResponseAsync();