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

Azure Functions SignalR输出绑定失败:ServiceEndpoints为空,连接字符串无效

解决Azure Functions Isolated模式下SignalR输出绑定连接字符串为空的问题

问题根源

你的SignalROutput特性中指定的ConnectionStringSetting为"SignalRConnection",但你在local.settings.json里配置的连接字符串键是"AzureSignalRConnectionString",两者名称不匹配,导致框架无法找到有效的连接字符串,从而抛出ServiceEndpoints is empty错误。

具体解决步骤

方案1:修改配置文件的键名,匹配特性设置

  • 打开local.settings.json,将"AzureSignalRConnectionString"改为"SignalRConnection",保持连接字符串值不变:
    {
      "IsEncrypted": false,
      "Values": {
        "AzureWebJobsStorage": "your-storage-connection",
        "FUNCTIONS_WORKER_RUNTIME": "dotnet-isolated",
        "SignalRConnection": "your-signalr-connection-string"
      }
    }
    
  • 远程部署时,在Azure门户的函数应用配置 > 应用设置中,添加或修改键名为SignalRConnection的设置,值填入你的SignalR服务连接字符串。

方案2:修改特性参数,匹配配置文件的键名

  • 在SendToGroup函数的SignalROutput特性中,将ConnectionStringSetting的值改为"AzureSignalRConnectionString":
    [Function("SendToGroup")]
    public static async Task<HttpResponseData> Run(
        [HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequestData req,
        [SignalROutput(HubName = "YourHubName", ConnectionStringSetting = "AzureSignalRConnectionString")] IAsyncCollector<SignalRMessage> signalRMessages)
    {
        // 函数逻辑
    }
    

额外检查项

  • 确认local.settings.json的Values节点下的键名拼写完全正确(区分大小写),没有多余空格或拼写错误。
  • 远程部署时,务必在Azure门户的应用设置中配置对应的连接字符串,不要仅依赖本地配置文件。
  • 确保已安装适配dotnet-isolated模式的SignalR扩展包:Microsoft.Azure.Functions.Worker.Extensions.SignalRService,版本建议与Azure Functions运行时版本兼容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 01:18:29