Men*_*ini 11 timeout restsharp
我对 RestClient 响应返回有疑问
“StatusCode: 0,Content-Type: , Content-Length: )”,ErrorMessage 为“由于配置的 HttpClient.Timeout 已过 100 秒,请求被取消”。
尽管只有 170KB 的数据,但由于其最终优化不佳,该请求可能需要 5 分钟以上的时间。
var client = new RestClient(url);
RestRequest request = new RestRequest() { Method = Method.Get };
request.Timeout = 300000;
request.AddParameter("access_token", AccessToken);
request.AddParameter("start_date", StartDate.ToString("yyyy-MM-dd"));
request.AddParameter("end_date", EndDate.ToString("yyyy-MM-dd"));
request.AddParameter("offset", offset.ToString());
var response = await client.ExecuteAsync(request);
var responseWorkLoads = JObject.Parse(response.Content).SelectToken("worklogs");
Run Code Online (Sandbox Code Playgroud)
Ale*_*rev 20
RestSharp 允许您设置两种超时。
当您创建 的新实例时RestClient,您可以HttpClient使用以下命令指定将覆盖默认 100 毫秒的超时RestOptions:
var client = new RestClient(new RestClientOptions { Timeout = 300000 });
Run Code Online (Sandbox Code Playgroud)
由于包装HttpClient是在每个实例中实例化和配置一次RestClient,因此设置请求超时不会覆盖该设置,否则客户端将不是线程安全的。
另一方面,如果请求超时小于客户端超时,则请求超时将覆盖客户端超时。RestSharp 使用请求超时创建取消令牌源,因此当链接的取消令牌取消时,请求将被取消。
我相信目前 RestClient 在客户端超时时也没有正确设置失败原因,只有在令牌被取消的情况下。我将为此创建一个问题。
| 归档时间: |
|
| 查看次数: |
20207 次 |
| 最近记录: |