.net 报错 远程主机强迫关闭了一个现有的连接 问题分析解决

先测试cmd 发现可以ping通地址:证明不是网络问题

postman 报错

Error: Hostname/IP does not match certificate's altnames

设置里ssl验证默认开启,把选项关闭,接着就正常了:证明应该是https或ssl 相关通讯出现问题

visual studio 报错

远程主机强迫关闭了一个现有的连接

原先项目框架是.net 4.0 没有问题 升级成.net4.5.2后开始报错

原因分析

https前缀会有ssl证书验证,在post调取该地址时,可以忽略掉该验证,否则会产生调不到的情况。

原来.net4.0的时候 调用代码前加忽略掉ssl验证

ServicePointManager.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;

升级.net4.5.2之后 SecurityProtocolType的默认支持有问题

添加代码

System.Net.ServicePointManager.SecurityProtocol |= (SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12);

或者
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12 | SecurityProtocolType.Tls11 | SecurityProtocolType.Tls;

相关推荐
伽蓝_游戏8 分钟前
UGUI源码剖析 (24):常用插件扩展介绍
ui·unity·c#·游戏引擎·游戏程序
北京理工大学软件工程13 小时前
C#111
开发语言·c#
雪飞鸿19 小时前
ArrayPoolWrapper简洁、安全的ArrayPool
c#·.net·.net core·原创
海盗123419 小时前
C#上位机开发-S7协议通信
开发语言·c#
FeBaby20 小时前
ReentrantLock 与 synchronized 底层实现对比图解
开发语言·c#
烟话621 小时前
C# 内存机制详解:值类型、引用类型与 String 的不可变性
java·jvm·c#
我是唐青枫1 天前
C#.NET MemoryMarshal 深入解析:零拷贝内存重解释、二进制读写与使用边界
c#·.net
步步为营DotNet1 天前
深入剖析.NET 11 中 Semantic Kernel 于智能后端集成的创新实践
前端·.net·easyui
susan花雨1 天前
C#异步并行处理的用法
c#