0

我们有一个处理多个消息主题/订阅的服务总线队列,我们​​希望能够在处理某些消息时通知连接的用户一条消息已被处理。消息处理发生在一个简单的控制台应用程序中,但我们不确定如何创建与 Azure SignalR 服务的连接并在处理完消息后发送消息。

4

1 回答 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 回答