Udostępnij za pośrednictwem


Zmieniono bibliotekę MessagePack w programie @microsoft/signalr-protocol-msgpack

Pakiet npm @microsoft/signalr-protocol-msgpack teraz odwołuje się @msgpack/msgpack zamiast msgpack5. Ponadto dostępne opcje, które można opcjonalnie przekazać do elementu MessagePackHubProtocol , uległy zmianie. Właściwości MessagePackOptions.disableTimestampEncoding i MessagePackOptions.forceFloat64 zostały usunięte, a niektóre nowe opcje zostały dodane.

Aby zapoznać się z dyskusją, zobacz https://github.com/dotnet/aspnetcore/issues/30471.

Wersja wprowadzona

ASP.NET Core 6.0

Stare zachowanie

W poprzednich wersjach należy uwzględnić trzy odwołania do skryptu, aby użyć protokołu Centrum MessagePack w przeglądarce:

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

Nowe zachowanie

Począwszy od ASP.NET Core 6, potrzebne są tylko dwa odwołania do skryptów, aby użyć protokołu Centrum MessagePack w przeglądarce:

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

Zamiast pakietu msgpack5, pakiet @msgpack/msgpack jest pobierany do katalogu node_modules, jeśli chcesz go używać bezpośrednio w swojej aplikacji.

Na koniec, MessagePackOptions ma nowe, dodatkowe właściwości, a właściwości disableTimestampEncoding i forceFloat64 zostaną usunięte.

Przyczyna zmiany

Ta zmiana została wprowadzona w celu zmniejszenia rozmiaru zasobu, uproszczenia korzystania z pakietu i dodania większej możliwości dostosowywania.

Jeśli wcześniej używano msgpack5 w aplikacji, musisz dodać bezpośrednie odwołanie do biblioteki w pliku package.json .

Interfejsy API, których dotyczy problem

Usunięto następujące interfejsy API:

  • MessagePackOptions.disableTimestampEncoding
  • MessagePackOptions.forceFloat64