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")
如何存档?
使用以下内容:
[SignalRConnectionInfo(HubName = "{query.HubName}")]
你可以使用
[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