Net中HttpClient 重试

简介:

/// <summary>
/// 重试
/// </summary>
public class RetryHandler : DelegatingHandler
{
private const int maxRetries = 3;

/// <summary>
/// 重试
/// </summary>
/// <param name="innerHandler"></param>
public RetryHandler(HttpMessageHandler innerHandler)
: base(innerHandler)
{ }
/// <summary>
/// 重试
/// </summary>
/// <param name="request"></param>
/// <param name="cancellationToken"></param>
/// <returns></returns>
protected override async Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
{
HttpResponseMessage response = null;
for (int i = 0; i < maxRetries; i++)
{
response = await base.SendAsync(request, cancellationToken);
if (response.IsSuccessStatusCode)
{
return response;
}
}

return response;
}
}

使用:

var client = new HttpClient(new RetryHandler(new HttpClientHandler())




本文转自94cool博客园博客,原文链接:http://www.cnblogs.com/94cool/p/5923627.html,如需转载请自行联系原作者

相关文章
|
4月前
|
开发框架 .NET API
.Net Core Console 项目如何使用 HttpClient 与 Web 服务通信
.Net Core Console 项目如何使用 HttpClient 与 Web 服务通信
.net core基于HttpClient实现的网络请求库
.net core基于HttpClient实现的网络请求库
295 0
|
API 数据安全/隐私保护
十二、.net core(.NET 6)添加通用的访问webapi的方法(包括HttpClient和HttpWebRequest)
开发通用的访问webapi方法。在common工具文件夹下,新建一个类库项目:Wsk.Core.WebHelper,并引用Package包项目,然后新建一个类HttpClientHelper,用于使用HttpClient方法进行访问webapi:
794 0
十二、.net core(.NET 6)添加通用的访问webapi的方法(包括HttpClient和HttpWebRequest)
|
开发框架 前端开发 JavaScript
.NET Core Web API使用HttpClient提交文件的二进制流(multipart/form-data内容类型)
.NET Core Web API使用HttpClient提交文件的二进制流(multipart/form-data内容类型)
504 0
.NET Core Web API使用HttpClient提交文件的二进制流(multipart/form-data内容类型)
|
前端开发
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
432 0
.NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
|
开发框架 前端开发 .NET
ASP.NET MVC (五、HttpClient接口解析)(5)
ASP.NET MVC (五、HttpClient接口解析)(5)
198 0
ASP.NET MVC (五、HttpClient接口解析)(5)
|
开发框架 前端开发 .NET
ASP.NET MVC (五、HttpClient接口解析)(4)
ASP.NET MVC (五、HttpClient接口解析)(4)
107 0
ASP.NET MVC (五、HttpClient接口解析)(4)
|
开发框架 前端开发 .NET
ASP.NET MVC (五、HttpClient接口解析)(3)
ASP.NET MVC (五、HttpClient接口解析)(3)
159 0
ASP.NET MVC (五、HttpClient接口解析)(3)
|
开发框架 前端开发 .NET
ASP.NET MVC (五、HttpClient接口解析)(2)
ASP.NET MVC (五、HttpClient接口解析)(2)
156 0
ASP.NET MVC (五、HttpClient接口解析)(2)
|
开发框架 前端开发 .NET
ASP.NET MVC (五、HttpClient接口解析)(1)
ASP.NET MVC (五、HttpClient接口解析)(1)
134 0
ASP.NET MVC (五、HttpClient接口解析)(1)