我正在阅读有关Azure SignalR服务的非常有限的信息以及快速启动指南,并希望确保我正确地理解了这一点。
我们似乎仍然有一个hub,如果我正确理解的话,Azure SignalR服务的功能就是简单地将消息推送到连接的客户端。
在我的例子中,我存储聊天的历史,因此,通过首先点击hub,我仍然能够使用后端逻辑来持久化聊天历史记录,或者执行我可能需要的任何其他处理。然后,只需允许Azure SignalR服务将数据推送到连接的客户端。
主要的好处似乎是处理服务的扩展。
我说得对吗?
发布于 2018-05-09 20:51:08
是的,你是完全正确的。
您将使用完全相同的ASP.NET核心SignalR API来编写您的业务逻辑,这意味着您可以在客户端的消息到达集线器时持久化。
Azure SignalR服务将是应用服务器和连接客户端之间的底层传输。例如,当您想向所有客户端广播消息时,实际上只向Azure SignalR服务发送一条消息,该服务将为您向所有客户端广播该消息。这样你就不用担心规模扩大了。Azure SignalR服务将为您处理扩展。
发布于 2018-05-09 19:24:12
你理解得对。
SignalR还没有为生产做好准备(谈到ASP.NET核心),SignalR for ASP.NET MVC已经存在一段时间了(稳定)。
SignalR由两部分组成:服务器和客户端。服务器如您所描述的:一个“集线器”,您可以使用它将信息推送到客户端。
在网页上,加载一段生成的javascript (从集线器定义自动生成)。基本上,您可以让您的网站访问者(客户端)通过signalR的机制连接到集线器(signalR将根据浏览器选择正确的连接方式),然后“订阅”您在集线器中活动的不同方法。
工作原理很简单:每当您调用集线器中的代码(可以来自客户端,也可以来自后端代码),就会自动处理与所有订阅客户端的通信。
注意:如果您正在一个蔚蓝的web应用程序上运行此功能:启用“始终打开”设置,并将"websockets“切换到”已启用“,否则您将看到奇怪的行为。
Note2: signalR核心1.0的RC版本刚刚发布(2018年5月7日),因此该软件可能还需要一段时间才能开始稳定,并通过公共nuget/npm渠道获得。
https://stackoverflow.com/questions/50258020
复制相似问题