Поделиться через


SignalR: Протокол MessagePack Hub перемещен в пакет MessagePack 2.x

Протокол концентратора MessagePack для ASP.NET Core SignalR использует пакет NuGet MessagePack для сериализации MessagePack. ASP.NET Core 5.0 обновляет пакет с 1.x до последней версии пакета 2.x.

Обсуждение этого вопроса см. на странице dotnet/aspnetcore#18692.

Представленные версии

5.0 Предварительная версия 1

Старое поведение

Чтобы сериализовать и десериализировать сообщения MessagePack, ASP.NET Core SignalR использовал пакет MessagePack 1.x.

Новое поведение

ASP.NET Core SignalR использует для сериализации и десериализации сообщений MessagePack пакет MessagePack версии 2.x.

Причина изменения

Последние улучшения в пакете MessagePack версии 2.x принесли полезные функции.

Это критическое изменение применяется в следующих случаях.

  • При установке или настройке значений на MessagePackHubProtocolOptions.
  • При использовании API MessagePack напрямую и протокола концентратора ASP.NET Core MessagePack SignalR в одном проекте. Вместо предыдущей версии будет загружена новая версия.

Руководство по миграции от авторов пакетов см. в статье Переход с MessagePack версии 1.x на MessagePack версии 2.x. Затрагиваются некоторые аспекты сериализации и десериализации сообщений. В частности, имеются изменения поведения, определяющие порядок сериализации значений DateTime.

Затронутые API

Microsoft.AspNetCore.SignalR.MessagePackHubProtocolOptions