我有一个通过SignalR接收消息的客户端。它工作正常,但更像是广播。我希望能够将消息发送到特定客户端。使用Azure函数C#可以做到这一点吗?这是我的协商功能示例。
[FunctionName("Negotiate")]
public static SignalRConnectionInfo NegotiateSignalR(
[HttpTrigger(AuthorizationLevel.Anonymous, "post")] HttpRequest req,
[SignalRConnectionInfo(HubName = "notifications")] SignalRConnectionInfo connectionInfo)
{
return connectionInfo;
}
[FunctionName("Negotiate")]
public static SignalRConnectionInfo NegotiateSignalR(
[HttpTrigger(AuthorizationLevel.Function, "post")] HttpRequest req,
[SignalRConnectionInfo(HubName = "notifications", UserId = "{headers.x-ms-signalr-userid}")] SignalRConnectionInfo connectionInfo)
{
return connectionInfo;
}
我必须在SignalRConnectionInfo Binding中添加另一个属性UserId,而FE客户端必须在标头中传递userid。
x-ms-signalr-userid:{userid}
进行此更改后,在客户端和信号器之间建立的连接将与一个用户ID关联,并且您可以向特定用户发送消息。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句