我试图从异步WebException
捕获HttpWebRequest
以从api读取soap:fault。但它抛出了AggregateException
。有没有办法捕获异步WebException
的{{1}}?
HttpWebRequest
答案 0 :(得分:3)
更改此
var response = task.Result;
到这个
var response = await task;
await
返回任务结果或解包AggregateException
,如果有的话。
此外,.Result
会阻止当前线程,直到结果可用,这可能不是您想要的,否则您只是使用阻塞GetResponse
而不是异步{{1 }和BeginGetResponse
。
同样,你甚至不需要这两种方法。有一个更好的 - EndGetResponse
使用此:
GetResponseAsync
而不是:
var response = await req.GetResponseAsync();