如何使用Postman调用.NET 8 Web应用中的SignalR Hub方法?
用Postman测试.NET 8 SignalR Hub的正确姿势
1. 建立WebSocket连接
打开Postman新建一个WebSocket请求,填入你的SignalR Hub地址,格式为wss://localhost:<你的端口>/<Hub路由>(比如wss://localhost:5001/chathub),点击Connect,此时连接会处于等待握手的状态。
2. 完成握手(核心步骤)
在消息输入框中输入握手JSON:
{"protocol":"json","version":1}
关键操作:必须在这段JSON末尾添加SignalR要求的结束符——Unicode字符U+001E。在Postman里插入该字符的方法是:按下Ctrl+Shift+U,输入1E后回车即可。
点击Send,正常情况下会收到服务器返回的{}响应,说明握手成功。
3. 调用Hub方法
发送方法调用的JSON消息,同样要在末尾添加U+001E结束符,消息内容如下:
{"arguments": ["just a test"], "target": "HubMethod", "type": 1}
点击Send,只要你的Hub中存在名为HubMethod的方法(且参数匹配),就能正常触发方法执行,不会再出现握手错误。
常见问题排查
- 检查Hub配置:确认
Program.cs中已添加AddSignalR()和MapHub<你的Hub类>("/路由"),.NET 8默认启用WebSocket传输,但不要遗漏配置。 - 核对地址信息:端口、Hub路由不要拼写错误,这是最容易踩的低级坑。
- 确认结束符存在:很多失败案例都是因为没加
U+001E,务必检查消息末尾是否正确插入该字符。 - 处理身份验证:如果Hub需要登录验证,要在Postman的Headers标签页添加对应认证头(比如Bearer Token)。
内容的提问来源于stack exchange,提问作者Maturano
相关产品推荐
相关产品推荐

