Изменения в библиотеке 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