共用方式為


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 Preview 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