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

相关推荐
.net开发10 分钟前
WPF使用Prism框架首页界面
前端·c#·.net·wpf
engchina2 小时前
Neo4j数据库清理指南:如何安全地删除所有节点和索引
数据库·neo4j
Erorrs2 小时前
Android13 系统/用户证书安装相关分析总结(二) 如何增加一个安装系统证书的接口
android·java·数据库
许苑向上3 小时前
最详细【Elasticsearch】Elasticsearch Java API + Spring Boot集成 实战入门(基础篇)
java·数据库·spring boot·elasticsearch
浪里个浪的10243 小时前
【C#】选课程序增加、删除统计学时
c#·用户界面
CodeCraft Studio4 小时前
【实用技能】在 SQL Server 中使用 LIMIT 子句的替代方案
数据库·sql·sqlserver
技术拾荒者5 小时前
.net core mvc 控制器中页面跳转
后端·c#·asp.net·mvc·.netcore
jlting1955 小时前
HiveSQL 中判断字段是否包含某个值的方法
数据库·sql
求一个好offer拜托拜托5 小时前
SQL常见语法
数据库·sql
喵手5 小时前
PostgreSQL 增量备份:保护你的数据资产
数据库·postgresql