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

.NET 5 Web API搭建WebSocket时本地wss连接失败如何解决?

问题排查与解决方案

核心遗漏配置

  • 未在ASP.NET Core中间件管道中启用WebSocket支持,这是连接失败的最主要原因
    请修改Startup.cs文件的Configure方法,在路由中间件注册前添加WebSocket中间件,参考代码如下:
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }
    
        app.UseHttpsRedirection();
    
        // 新增此行,启用WebSocket服务支持
        app.UseWebSockets();
    
        app.UseRouting();
    
        app.UseAuthorization();
    
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapControllers();
        });
    }
    

其他需调整项

  • 移除不必要的NuGet包:你安装的Microsoft.AspNetCore.SignalR.Core是SignalR框架专用依赖,使用原生WebSocket无需引入该包,直接移除即可避免潜在的依赖冲突。

补充验证项

  • 确认项目launchSettings.json配置中,HTTPS监听端口确实为5001,若端口不符,需对应修改WebSocket连接地址的端口。
  • 本地开发使用自签HTTPS证书时,先在浏览器访问一次https://localhost:5001,手动信任该站点证书,否则wss连接会被浏览器因证书不信任拦截。
  • 若你使用HTTP协议启动服务,需将WebSocket连接地址改为ws://localhost:5000/ws,不可使用wss协议连接HTTP端口。

以上配置调整完成后,重启服务再测试WebSocket连接即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 17:48:00