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

相关推荐
IT·陈寒1 分钟前
零配置、开箱即用:seekdb 如何成为 AI 时代的“全能嵌入式数据库”? ——基于 OceanBase seekdb 的实践体验与 AI 开发思考
数据库·人工智能·oceanbase
武藤一雄8 分钟前
一款基于WPF开发的BEJSON转换工具
windows·c#·json·wpf
AI_567829 分钟前
MySQL索引的B+树实战哲学
数据库·b树·mysql
大锦终42 分钟前
【MySQL】视图+用户管理
数据库·mysql
一位代码43 分钟前
mysql | 数据表中列(字段)的添加、修改和删除
数据库·mysql
水坚石青44 分钟前
Java+Swing+Mysql实现物业管理系统
java·开发语言·数据库·mysql·swing
GanGuaGua1 小时前
MySQL:内置函数
数据库·mysql·oracle
一位代码1 小时前
mysql | limit 用法详解及注意事项
数据库·mysql
Li_7695321 小时前
Redis —— (四)
数据库·redis