大家都知道,使用HttpClient,在并发量不大的情况,一般没有任何问题;但是在并发量一上去,如果使用不当,会造成很严重的堵塞的情况。
解决方案如下:
一、可以参考微软官方提供的方法:https://docs.microsoft.com/zh-cn/aspnet/core/fundamentals/http-requests?view=aspnetcore-2.2
二、我的解决方案是根据官方提供的方法,选择一种最适合项目的写法进行改造。
1、nuget添加包Microsoft.AspNetCore.Http;
2、startup里ConfigureServices方法添加代码:
//添加httpclient方法 services.AddHttpClient("ApiServiceName", c => { c.BaseAddress = new Uri(Configuration["ApiConfig:SystemService"]);//地址从配置文件appsettings.json里取 c.Timeout = TimeSpan.FromSeconds(30);//超时间时间设置为30秒 });
3、在需要用的地方注入进去:(一般在构造函数里)
private ILogger logHelper; private readonly