我们有一个处理多个消息主题/订阅的服务总线队列,我们希望能够在处理某些消息时通知连接的用户一条消息已被处理。消息处理发生在一个简单的控制台应用程序中,但我们不确定如何创建与 Azure SignalR 服务的连接并在处理完消息后发送消息。
问问题
207 次
1 回答
1
我相信最简单的最具可扩展性的方法是使用一个简单的 azure 函数来执行此操作。
您只需要使用在消息到达时运行您的函数的服务总线触发器,并使用SignalR 服务输出绑定将消息发送给您的用户。
您的功能可以像以下一样简单
[FunctionName("ServiceBusQueueTriggerCSharp")]
public static void Run(
[ServiceBusTrigger("myqueue", AccessRights.Manage, Connection = "ServiceBusConnection")]
string myQueueItem,
[SignalR(HubName = "chat")]IAsyncCollector<SignalRMessage> signalRMessages
ILogger log)
{
return signalRMessages.AddAsync(
new SignalRMessage
{
Target = "newMessage",
Arguments = new [] { myQueueItem }
});
}
于 2019-03-07T10:23:30.970 回答