由于 SSL 证书问题,我们在我的应用服务层中使用“Windows.Web.Http.HttpClient”API。
我为我的项目引用了以下示例。
http://code.msdn.microsoft.com/windowsapps/HttpClient-sample-55700664
我们如何在“Windows.Web.Http.HttpClient”API 中实现超时选项
由于 SSL 证书问题,我们在我的应用服务层中使用“Windows.Web.Http.HttpClient”API。
我为我的项目引用了以下示例。
http://code.msdn.microsoft.com/windowsapps/HttpClient-sample-55700664
我们如何在“Windows.Web.Http.HttpClient”API 中实现超时选项
您可以使用带有超时的 CancellationTokenSource。
HttpClient client = new HttpClient();
var cancellationTokenSource = new CancellationTokenSource(2000); //timeout
try
{
var response = await client.GetAsync("https://test.example.com", cancellationTokenSource.Token);
}
catch (TaskCanceledException ex)
{
}
编辑:使用 Windows.Web.Http.HttpClient 您应该使用 AsTask() 扩展方法:
HttpClient client = new HttpClient();
System.Threading.CancellationTokenSource source = new System.Threading.CancellationTokenSource(2000);
try
{
client.GetAsync(new Uri("http://example.com")).AsTask(source.Token);
}
catch(TaskCanceledException ex)
{
}