是否有一些如何在Azure无服务器解决方案的协商中动态指定Azure SignalR的集线器名称?

问题描述 投票:0回答:2
using Microsoft.AspNetCore.Http;
using Microsoft.Azure.WebJobs;
using Microsoft.Azure.WebJobs.Extensions.Http;
using Microsoft.Azure.WebJobs.Extensions.SignalRService;

namespace TheNameSpace
{
    public static class Function
    {
        [FunctionName("Negotiate")]
        public static SignalRConnectionInfo Negotiate(
            [HttpTrigger(AuthorizationLevel.Anonymous, Route = "v1/Negotiate")] HttpRequest req,
            [SignalRConnectionInfo(HubName = "serverless")] SignalRConnectionInfo connectionInfo)
        {
            return connectionInfo;
        }
    }
}

这是协商的功能 - 您可以在许多其他门户或来源中找到此示例。是的,效果很好!但我想动态指定 HubName。

在上面的例子中,它是硬编码的,我认为它不可能是动态的。我想要类似 HubName = Req.Query("HubName")

如何存档?

azure azure-functions signalr azure-signalr
2个回答
3
投票

使用以下内容:

[SignalRConnectionInfo(HubName = "{query.HubName}")]

0
投票

你可以使用

[SignalRConnectionInfo(HubName = "{query.HubName}")]

用于从请求查询传递中心名称

[SignalRConnectionInfo(HubName = "{headers.HubName}")]

用于从请求标头传递集线器名称

您可以在此处找到有关输入绑定的更多信息:   https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-signalr-service-input?tabs=isolated-process&pivots=programming-语言-csharp

© www.soinside.com 2019 - 2024. All rights reserved.