我有一个使用HttpClient的.NET 4客户端应用程序。当_tokenServiceUrl无法通过DNS正确解析时(例如:当VPN上升或下降或移动设备在死点中失去连接时发生网络更改更改),则会抛出AggregateException。我试图抓住那个例外,但不能。
try
{
var response = _client.GetAsync(_tokenServiceUrl).Result;
response.EnsureSuccessStatusCode();
var token = response.Content.ReadAsAsync<string>().Result;
return token;
}
catch (AggregateException exception)
{
Disconnected(exception);
return string.Empty;
}
我已经添加了一个ContinueWith,以便捕获异常并处理它,但我永远不会回来。在这样的例外情况下,我该怎样做才能完成任务?
答案 0 :(得分:1)
您应该能够捕获该Aggregate异常。
确保在测试时没有运行Fiddler或其他代理。如果这样做,则GetAsync期间不会发生异常。您将获得502响应,然后EnsureSuccessStatusCode将抛出HttpRequestException。