C# SocketException(0x2746) asp.net一个现有的连接被远程主机强行关闭

问题原因

如果网页能正常访问,那就是TLS版本支持的问题。

我遇到的问题是:

项目用的是NET Framework 4.6.1,但是 learn.microsoft.com 提到

NET Framework 4.6及更早版本 不支持 TLS 1.1 和 TLS 1.2。

NET Framework 4.6.2 及更高版本 支持 TLS 1.1 和 TLS 1.2。

所以我也不知道夹在中间的 4.6.1 是个什么情况。。。

有两种方案

第一种,改代码

csharp 复制代码
System.Net.ServicePointManager.SecurityProtocol |= SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

第二种,改为system.web参数

项目更改为.Net Framework 4.6+,然后修改web.config文件中的system.web参数为以下内容

xml 复制代码
<system.web>
  <compilation targetFramework="4.6" /> 
  <httpRuntime targetFramework="4.6" /> 
</system.web>

问题详细情况参考地址

TLS版本支持描述

https://learn.microsoft.com/zh-cn/mem/configmgr/core/plan-design/security/enable-tls-1-2-client

同类问题描述

https://stackoverflow.com/questions/46223078/c-sharp-httpclient-an-existing-connection-was-forcibly-closed-by-the-remote-host

相关推荐
十八旬3 分钟前
苍穹外卖项目实战(day7-1)-缓存菜品和缓存套餐功能-记录实战教程、问题的解决方法以及完整代码
java·数据库·spring boot·redis·缓存·spring cache
要一起看日出1 小时前
MVCC-多版本并发控制
数据库·mysql·mvcc
Hx__1 小时前
MySQL InnoDB 的 MVCC 机制
数据库·mysql
速易达网络1 小时前
ASP.NET MVC 连接 MySQL 数据库查询示例
数据库·asp.net·mvc
玉衡子2 小时前
MySQL基础架构全面解析
数据库·后端
梦中的天之酒壶2 小时前
Redis Stack扩展功能
数据库·redis·bootstrap
疯狂的维修2 小时前
C#中一段程序类比博图
c#
GreatSQL2 小时前
GreatSQL分页查询优化案例实战
数据库
Leo.yuan2 小时前
不同数据仓库模型有什么不同?企业如何选择适合的数据仓库模型?
大数据·数据库·数据仓库·信息可视化·spark
麦兜*3 小时前
MongoDB 6.0 新特性解读:时间序列集合与加密查询
数据库·spring boot·mongodb·spring·spring cloud·系统架构