首页 新闻 搜索 专区 学院

基础连接已经关闭: 发送时发生错误。

0
悬赏园豆:10 [已解决问题] 解决于 2022-08-03 10:05

再调用银联的生产环境的接口时,GetRequestStream()时一直提示“”基础连接已经关闭: 发送时发生错误“”

灬丶的主页 灬丶 | 初学一级 | 园豆:12
提问于:2022-07-26 16:06
< >
分享
最佳答案
0

去掉 reqStream.Close() 试试,using 本来就会关闭 Stream

参考 https://www.cnblogs.com/dudu/archive/2012/04/28/webrequest_post_google_oauth.html

收获园豆:5
dudu | 高人七级 |园豆:36108 | 2022-07-26 16:17

最开始使用 using (HttpClient httpClient = new HttpClient())直接调用,时好时坏,现在是都调不通了

灬丶 | 园豆:12 (初学一级) | 2022-07-26 16:41
其他回答(2)
0

并发很高?

收获园豆:5
Постой! | 园豆:842 (小虾三级) | 2022-07-29 11:24

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);

支持(0) 反对(0) Постой! | 园豆:842 (小虾三级) | 2022-07-29 11:31
0

应该公司的网络有问题,客户那里可以成功

灬丶 | 园豆:12 (初学一级) | 2022-08-03 10:05
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册