C# 如何在windows phone 8.1/windows 8.1中设置http客户端请求操作的超时
如何将超时属性设置为C# 如何在windows phone 8.1/windows 8.1中设置http客户端请求操作的超时,c#,windows-phone-8.1,windows-8.1,httpclient,win-universal-app,C#,Windows Phone 8.1,Windows 8.1,Httpclient,Win Universal App,如何将超时属性设置为Windows.Web.Http.HttpClient操作。下面是我使用的代码示例 public HttpClient httpClient; public CancellationTokenSource cts; public void SendRequest(addressUri,postrequestbody) { HttpHelper.CreateHttpClient(ref httpClient); cts = new CancellationTo
Windows.Web.Http.HttpClient
操作。下面是我使用的代码示例
public HttpClient httpClient;
public CancellationTokenSource cts;
public void SendRequest(addressUri,postrequestbody)
{
HttpHelper.CreateHttpClient(ref httpClient);
cts = new CancellationTokenSource();
HttpRequestMessage msg =
new HttpRequestMessage(new HttpMethod("POST"),
new Uri(addressUri));
msg.Content = new HttpStringContent(postrequestbody);
msg.Content.Headers.ContentType =
new HttpMediaTypeHeaderValue("application/json");
HttpResponseMessage response =
await httpClient.SendRequestAsync(msg).AsTask();
if (response.StatusCode == HttpStatusCode.Ok)
{
}
}
使用
取消令牌
:
try
{
CancellationTokenSource cts = new CancellationTokenSource(2000); // 2 seconds
HttpClient client = new HttpClient();
HttpResponseMessage response = await
client.SendRequestAsync(request).AsTask(cts.Token);
}
catch (TaskCanceledException ex)
{
// Catch operation aborted ...
}
您是否尝试过超时>60秒?(你的例子用了2秒)我试着这样设置10分钟。。。。。var response=wait-httpClient.PutAsync(操作、有效负载、新的CancellationTokenSource(600000).Token);但这返回404,60秒后仍然找不到。@iupchris10我知道这已经晚了2年,但60秒不到10分钟。如果您有响应代码(即服务器已响应),则您的请求尚未超时。我期待这种行为,因为这是正确的行为。如果没有响应/响应时间过长,上述代码将在10分钟后取消您的请求。你的例子不是这样的。我知道这是3年后的事了,但它是60000而不是60000,也就是10分钟