ASP.NET Core SignalR 简介Introduction to ASP.NET Core SignalR

适用于 SignalR的候选项:

  • 需要从服务器进行高频率更新的应用。示例包括游戏、社交网络、投票、拍卖、地图和 GPS 应用。
  • 协作应用。协作应用的示例包括白板应用和团队会议软件。
  • 需要通知的应用。社交网络、电子邮件、聊天、游戏、旅行警报和很多其他应用都需使用通知。

SignalR 提供用于创建服务器到客户端远程过程调用(RPC)的 API。RPC 通过服务器端 .NET Core 代码调用客户端上的 JavaScript 函数。

  • 自动管理连接。
  • 同时向所有连接的客户端发送消息。例如,聊天室。
  • 向特定客户端或客户端组发送消息。
  • 可缩放以处理不断增加的流量。

源托管在中。

SignalR 支持以下用于处理实时通信的技术(按正常回退的顺序):

  • 服务器发送的事件
  • 长轮询

SignalR 使用集线器在客户端和服务器之间进行通信。

“中心”是一种高级管道,允许客户端和服务器相互调用方法。 SignalR 会自动处理计算机边界中的调度,从而允许客户端在服务器上调用方法,反之亦然。可以将强类型参数传递给方法,从而启用模型绑定。 SignalR 提供了两种内置的集线器协议:基于 JSON 的文本协议和基于MessagePack的二进制协议。与 JSON 相比,MessagePack 创建的消息通常比较小。较早的浏览器必须支持 ,才能提供 MessagePack 协议支持。