在 SignalR 应用程序中从 Azure 事件中心轮询消息的替代方法

本文关键字:消息 方法 事件 应用程序 SignalR Azure 心轮 | 更新日期: 2023-09-27 18:37:21

我有一个Azure EventHub,它偶尔从各种设备获取数据。我想处理数据并通过 SignalR 将它们发送到客户端应用程序。但是,获取数据的唯一可能性似乎是在 SignalR 服务器应用程序中具有无限循环,该应用程序将定期轮询来自事件中心 (http://blogs.msdn.com/b/musings_on_alm_and_software_development_processes/archive/2014/09/03/azure-event-hubs-queues-and-workers.aspx) 的数据。

我发现,唯一的优化是使用回退轮询(http://www.developerfusion.com/article/120619/advanced-scenarios-with-windows-azure-queues/)。现在我想知道 - 没有更好的方法来完成这项工作吗?SignalR 和 EventHub 都在那里,用于启用 PUSH 通信模型。他们是否无法建立双向通信通道,从而允许他们根据事件发送和接收消息?

在 SignalR 应用程序中从 Azure 事件中心轮询消息的替代方法

你确定事件中心是你需要的结构吗?Azure 队列和 Azure 主题都会在 C# 中为你提供"OnEvent"信号,以便你可以避免轮询。事件中心在流中提供消息,更适用于大量 IoT 信号和流分析。

当然,如果你

的体系结构需要可视化数据流,你仍然可以在收到队列/主题消息后将消息转发到事件中心,否则,我强烈建议考虑 Azure 主题或 Azure 队列

https://azure.microsoft.com/en-us/documentation/articles/service-bus-queues-topics-subscriptions/