You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2022本地运行ASP.NET Core6.0 Web API时无法连接Web服务器

解决ASP.NET Core 6.0 Web API在VS2022中的连接错误及邮件SSL握手问题

一、Web服务器连接失败(Unable to connect to web server)

针对IIS Express和项目模式均出现的连接失败问题,可按以下步骤排查:

  • 重置IIS Express配置:删除项目根目录下的隐藏.vs文件夹,重启VS2022后重新生成并运行项目
  • 确认开发证书信任状态:
    1. 打开「证书管理器」(运行certmgr.msc)
    2. 检查「受信任的根证书颁发机构」中是否存在ASP.NET Core开发证书
    3. 若缺失,执行命令清理并重新生成信任证书:
      dotnet dev-certs https --clean
      dotnet dev-certs https --trust
      
  • 排查端口冲突:
    1. 打开项目的Properties/launchSettings.json,查看配置的端口号
    2. 用命令检查端口是否被占用:
      netstat -ano | findstr :<你的端口号>
      
    3. 若被占用,修改launchSettings.json中的端口,或通过任务管理器杀掉占用进程
  • 修复VS2022组件:打开VS Installer,选择「修改」,确保「ASP.NET和Web开发」组件完整,必要时点击「修复」

二、邮件发送SslHandshakeException错误

针对SSL/TLS连接失败问题,解决方案如下:

  • 处理自签名证书(仅开发环境使用):在MailKit客户端初始化时添加证书信任回调,跳过验证:
    using (var client = new SmtpClient())
    {
        client.ServerCertificateValidationCallback = (sender, certificate, chain, sslPolicyErrors) => true;
        // 后续连接、发送逻辑
    }
    
  • 补充证书链:从邮件服务商获取根证书和中间证书,导入到本地「受信任的根证书颁发机构」中
  • 确认端口与协议匹配:
    1. 使用邮件服务器指定的SSL/TLS端口(如SMTP的465端口用于SSL,587用于STARTTLS)
    2. 在代码中明确指定支持的协议版本,避免协议不匹配:
      client.SslProtocols = SslProtocols.Tls12 | SslProtocols.Tls13;
      
  • 临时排除CRL验证(仅测试场景):在证书验证回调中忽略CRL不可用的错误,或检查网络是否能正常访问证书吊销列表服务器

内容的提问来源于stack exchange,提问作者Raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 03:35:17