我正在开发一个 wp8 应用程序,我使用 HttpClient 来执行 PostAsync 和 GetAsync 操作,我将超时设置为 1 秒:
private HttpClient client = new HttpClient();
client.Timeout = TimeSpan.FromMilliseconds(1000);
我在 Get 和 Post 操作中有一个 try catch 块,以将 TimeOutExceptions 捕获为:
try
{
var response = await client.PostAsync(param1,param2);
}
catch (TimeoutException e)
{
//do something
}
尽管如此,我的 catch 块没有捕获异常,我调试我的应用程序并观察抛出的异常是 TaskCanceledException,¿我如何捕获正确的异常?,¿为什么替换 TimeOutException?
最后,为避免混淆,我的实际超时时间为 10 秒,我使用 1 秒来测试,如果超过超时时间,我需要向用户显示一条消息。