我正在阅读有关Azure SignalR服务的非常有限的信息以及快速入门指南,并希望确保我正确理解这一点。
我们似乎还有一个hub
,如果我理解这一点,Azure SignalR服务的功能就是将消息简单地推送到连接的客户端。
在我的情况下,我存储了聊天的历史记录,所以首先点击hub
,我仍然可以使用我的后端逻辑来保存聊天记录或进行我可能需要的任何其他处理。然后只需允许Azure SignalR服务将数据推送到连接的客户端。
主要好处似乎是处理服务的扩展。
我说得对吗?
答案 0 :(得分:3)
是的,你完全正确。
您将使用与ASP.NET Core SignalR完全相同的API来编写业务逻辑,这意味着当客户端的消息到达您的集线器时,您可以保留所需的任何内容。
Azure SignalR Service将是您的应用服务器和已连接客户端之间的基础传输。例如,当您要向所有客户端广播消息时,实际上只向Azure SignalR Service发送一条消息,该服务将为您广播该消息给所有客户端。因此,您不必担心横向扩展。 Azure SignalR Service将为您处理扩展。
答案 1 :(得分:1)
你理解正确。
SignalR还没有准备好生产(谈到ASP.NET Core时),ASP.NET MVC的SignalR已经存在了一段时间(稳定)。
SignalR由两部分组成:服务器和客户端。服务器就像你描述的那样:a" hub"您可以用来将信息推送给客户。在网页上加载一段生成的javascript(从您的中心定义自动生成)。基本上,您允许您的网站访问者(客户端)通过signalR的机制连接到集线器(signalR将根据浏览器选择正确的连接方式),然后订阅'您在集线器中使用的不同方法。
工作很简单:无论何时在集线器中调用代码(可以来自客户端,或来自后端代码),都会自动为所有订阅的客户端处理通信。
注意:如果您在天蓝色网络应用上运行此功能:启用"始终开启"设置,并设置" websockets"切换到"启用",否则您会看到奇怪的行为。
注2:signalR core 1.0的RC版本刚刚发布(2018年5月7日),因此可能需要一段时间才能使该软件开始稳定并通过公共nuget / npm频道提供。