C# 如何在HttpClient.*方法中使用实际工作超时#
我的问题是,在C#a)中设置HttpClient的超时会中断正在运行的下载,如果设置得太低,b)在某些情况下不会触发。我正试图找到一个解决办法,需要一些帮助 我有一个非常简单的HttpClient调用实现。下载大文件时最容易看到这个问题。代码如下所示,我相信这是正确的用法:C# 如何在HttpClient.*方法中使用实际工作超时#,c#,http,timeout,C#,Http,Timeout,我的问题是,在C#a)中设置HttpClient的超时会中断正在运行的下载,如果设置得太低,b)在某些情况下不会触发。我正试图找到一个解决办法,需要一些帮助 我有一个非常简单的HttpClient调用实现。下载大文件时最容易看到这个问题。代码如下所示,我相信这是正确的用法: HttpClient client= new HttpClient() client.Timeout= TimeSpan.FromMinutes(1); HttpMessageRequestMessage msg= new
HttpClient client= new HttpClient()
client.Timeout= TimeSpan.FromMinutes(1);
HttpMessageRequestMessage msg= new HttpRequestMessage(HttpMethod.Get, "<URL>");
HttpResponseMessage response= await client.SendAsync(msg, HttpCompleteOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode();
await response.Content.ReadAsSytreamAsync().Result.CopyToAsync(fileStream);
HttpClient=newhttpclient()
client.Timeout=TimeSpan.frommins(1);
HttpMessageRequestMessage msg=新的HttpRequestMessage(HttpMethod.Get,“”);
HttpResponseMessage response=await client.SendAsync(消息,HttpCompleteOption.ResponseHeadersRead);
response.EnsureSuccessStatusCode();
等待响应.Content.readAssyStreamAsync().Result.CopyToAsync(文件流);
现在这在原则上是可行的,但是: