SignalR:MessagePack 集线器协议已移至 MessagePack 2.x 包

ASP.NET Core SignalR MessagePack 集线器协议使用 MessagePack NuGet 包实现 MessagePack 序列化。 ASP.NET Core 5.0 将包从 1.x 升级到最新的 2.x 包版本。

有关此问题的讨论,请参阅 dotnet/aspnetcore#18692

引入的版本

5.0 预览版 1

旧行为

ASP.NET Core SignalR 以前使用 MessagePack 1.x 包对 MessagePack 消息进行序列化和反序列化。

新行为

ASP.NET Core SignalR 使用 MessagePack 2.x 包对 MessagePack 消息进行序列化和反序列化。

更改原因

MessagePack 2.x 包中的最新改进添加了有用的功能。

此重大更改适用于以下情况:

  • MessagePackHubProtocolOptions 上设置或配置值。
  • 直接使用 MessagePack API,以及在同一项目中使用 ASP.NET Core SignalR MessagePack 集线器协议。 将加载较新的版本,而不是以前的版本。

若要获得包创建者的迁移指导,请参阅从 MessagePack v1.x 迁移到 MessagePack v2.x。 消息序列化和反序列化的某些方面会受到影响。 具体而言,对 DateTime 值的序列化方式进行了行为上的更改

受影响的 API

Microsoft.AspNetCore.SignalR.MessagePackHubProtocolOptions