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

多Hub场景下通过Postman发送消息无法调用SignalR Hub方法

SignalR ChatHub SendMessage方法未触发的排查要点
  • 核对Hub路由配置:确保Program.cs/Startup.cs中Hub的映射路径与Postman连接的URL一致,比如服务器端配置app.MapHub<ChatHub>("/chathub"),Postman的WebSocket连接地址必须是ws://yourdomain/chathub(或wss协议)。
  • 检查Hub方法的访问修饰符:SendMessage方法必须是public的,SignalR无法调用私有/受保护的Hub方法。
  • 验证消息格式细节:
    • 确认type字段值为1(调用方法的正确标识),且字段名是小写的type,无拼写错误
    • target字段值必须与服务器端方法名完全一致(区分大小写,比如SendMessage不能写成sendmessage)
  • 确保握手流程完整:发送握手消息{"protocol": "json", "version": 1}后,必须等待服务器返回确认响应(格式为{}加0x1e分隔符),再发送调用消息,不能连续发送两步的消息。
  • 检查分隔符的正确添加:0x1e分隔符必须是直接附加在JSON字符串末尾的ASCII控制字符,不能是转义后的字符串(比如不要用\u001e代替实际的0x1e字符)。
  • 排查服务器端日志:启用SignalR的详细日志,查看是否存在消息解析失败、连接权限拦截或Hub初始化错误的记录。
  • 确认Hub的继承类:ChatHub必须继承自Microsoft.AspNetCore.SignalR.Hub(ASP.NET Core版本),不要混淆成旧版ASP.NET的Microsoft.AspNet.SignalR.Hub。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 11:17:11