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

Isolated模式ServiceBusTrigger无法广播消息至Azure Serverless SignalR及相关疑问

问题解答

关于Azure门户中SignalR Trigger为空的问题

这是正常现象。你的代码使用的是SignalROutput输出绑定,而非SignalRTrigger输入触发器,所以门户的SignalR Trigger区域为空是符合预期的,无需额外配置。

无法向SignalR广播消息的排查步骤

1. 确认SignalR服务模式为Serverless

Azure SignalR Service必须设置为Serverless模式才能配合Azure Functions的Serverless Hub使用:

  • 登录Azure门户,进入你的SignalR服务资源
  • 切换到「设置」页面,将「服务模式」修改为「Serverless」
  • 保存设置

2. 验证连接字符串配置

  • 确保Function应用的应用设置中,存在名为SignalRConnection的配置项,其值为Azure SignalR Service的主连接字符串或次连接字符串
  • 本地调试时,检查local.settings.json中的配置是否正确:
    {
      "Values": {
        "SignalRConnection": "Endpoint=https://xxx.service.signalr.net;AccessKey=xxx;Version=1.0;",
        "BusConnection": "你的Service Bus连接字符串"
      }
    }
    
  • 部署到Azure后,确认门户的「配置 > 应用设置」已同步该连接字符串,且键名与代码中ConnectionStringSetting完全一致(区分大小写)

3. 检查NuGet包版本

确保项目引用了正确版本的Isolated模式SignalR扩展包:

  • 包名:Microsoft.Azure.Functions.Worker.Extensions.SignalRService
  • 版本需与Microsoft.Azure.Functions.Worker SDK版本兼容(建议使用最新稳定版)

4. 日志排查错误

查看Function应用的运行日志,定位是否有SignalR输出绑定的异常:

  • 进入Azure门户的Function应用,切换到「监测 > 日志」,搜索包含SignalR或SignalROutput的日志条目
  • 常见错误包括:连接字符串无效、权限不足、Hub名称拼写错误等

关于仪表板消息数为0的说明

如果没有客户端连接到SignalR Hub,广播消息不会被实际发送到客户端,因此Azure SignalR仪表板的「消息数」统计为0是正常的。若要验证广播功能,可编写简单的客户端代码连接到该Hub并监听newMessage事件,确认是否能收到消息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 02:25:12