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


Изменения в библиотеке MessagePack в @microsoft/signalr-protocol-msgpack

Пакет npm @microsoft/signalr-protocol-msgpack теперь ссылается @msgpack/msgpack на него.msgpack5 Кроме того, изменились доступные параметры, которые при необходимости можно передать в MessagePackHubProtocol. Свойства MessagePackOptions.disableTimestampEncoding и MessagePackOptions.forceFloat64 были удалены, а также были добавлены новые параметры.

Обсуждение этого вопроса см. на странице https://github.com/dotnet/aspnetcore/issues/30471.

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

ASP.NET Core 6.0

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

В предыдущих версиях для того, чтобы можно было использовать протокол MessagePack для концентратора в браузере, необходимо было добавить три ссылки на скрипты:

<script src="~/lib/signalr/signalr.js"></script>
<script src="~/lib/msgpack5/msgpack5.js"></script>
<script src="~/lib/signalr/signalr-protocol-msgpack.js"></script>

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

Начиная с ASP.NET Core 6, для того, чтобы можно было использовать протокол MessagePack для концентратора в браузере, требуются только две ссылки на скрипты:

<script src="~/lib/signalr/signalr.js"></script>
<script src="~/lib/signalr/signalr-protocol-msgpack.js"></script>

Вместо пакета msgpack5 в каталог node_modules загружается пакет @msgpack/msgpack, если вы хотите использовать его непосредственно в приложении.

Наконец, в MessagePackOptions появились новые дополнительные свойства, а свойства disableTimestampEncoding и forceFloat64 были удалены.

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

Это изменение было сделано для того, чтобы сократить размер ресурса, упростить использование пакета и расширить возможности настройки.

Если вы ранее использовали msgpack5 в своем приложении, необходимо добавить прямую ссылку на библиотеку в файл package.json.

Затронутые API

Были удалены следующие API:

  • MessagePackOptions.disableTimestampEncoding
  • MessagePackOptions.forceFloat64