再调用银联的生产环境的接口时,GetRequestStream()时一直提示“”基础连接已经关闭: 发送时发生错误“”
去掉 reqStream.Close()
试试,using
本来就会关闭 Stream
参考 https://www.cnblogs.com/dudu/archive/2012/04/28/webrequest_post_google_oauth.html
最开始使用 using (HttpClient httpClient = new HttpClient())直接调用,时好时坏,现在是都调不通了
并发很高?
WebRequest.Create() 这种写法 在dotnetcore 已被 淘汰 ; micsoft 推荐使用 HttpClient ,刚开始推荐单例, 后来提供了 HttpClientFactory。 以下 代码 可供参考:
注入httpclientfactory:
context.Services.AddHttpClient(Consts.AppKey, options => { })
.ConfigurePrimaryHttpMessageHandler(req => new HttpClientHandler() { UseProxy = false });
使用
private readonly IHttpClientFactory _httpClientFactory;
public HttpService(ILogger<HttpService> logger, IHttpClientFactory httpClientFactory)
{
_logger = logger;
_httpClientFactory = httpClientFactory;
}
var client = _httpClientFactory.CreateClient(Consts.AppKey);
应该公司的网络有问题,客户那里可以成功