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

相关推荐
努力成为包租婆33 分钟前
uniapp--原生插件开发
java·数据库·uni-app
羑悻的小杀马特2 小时前
PostgreSQL + Cpolar 组合拳,彻底打破局域网限制,远程访问数据库像本地一样简单
数据库·postgresql
松涛和鸣2 小时前
DAY61 IMX6ULL UART Serial Communication Practice
linux·服务器·网络·arm开发·数据库·驱动开发
二哈喇子!8 小时前
MySQL数据更新操作
数据库·sql
二哈喇子!8 小时前
MySQL命令行导入数据库
数据库·sql·mysql·vs code
心动啊1218 小时前
SQLAlchemy 的使用
数据库
Traced back8 小时前
# C# + SQL Server 实现自动清理功能的完整方案:按数量与按日期双模式
开发语言·c#
yj爆裂鼓手9 小时前
c#万能变量
开发语言·c#
曾经的三心草10 小时前
redis-2-数据结构内部编码-单线程-String命令
数据结构·数据库·redis
不绝19110 小时前
C#进阶:委托
开发语言·c#