Freigeben über


Geänderte MessagePack-Bibliothek in @microsoft/signalr-protocol-msgpack

Das @microsoft/signalr-protocol-msgpack npm package verweist jetzt auf @msgpack/msgpack anstelle von msgpack5. Darüber hinaus haben sich die verfügbaren Optionen, die optional an die MessagePackHubProtocol übergeben werden können, geändert. Die Eigenschaften MessagePackOptions.disableTimestampEncoding und MessagePackOptions.forceFloat64 wurden entfernt, und einige neue Optionen wurden hinzugefügt.

Weitere Informationen finden Sie unter https://github.com/dotnet/aspnetcore/issues/30471.

Eingeführte Version

ASP.NET Core 6.0

Altes Verhalten

In früheren Versionen müssen Sie drei Skriptverweise einschließen, um das MessagePack Hub-Protokoll im Browser zu verwenden:

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

Neues Verhalten

Ab ASP.NET Core 6 benötigen Sie nur zwei Skriptverweise, um das MessagePack Hub-Protokoll im Browser zu verwenden:

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

Statt des msgpack5 Pakets wird das @msgpack/msgpack Paket in Ihr node_modules Verzeichnis heruntergeladen, wenn Sie es direkt in Ihrer App verwenden möchten.

Schließlich hat MessagePackOptions neue Eigenschaften, und die zusätzlichen Eigenschaften disableTimestampEncoding und forceFloat64 werden entfernt.

Grund für Änderung

Diese Änderung wurde vorgenommen, um die Ressourcengröße zu reduzieren, die Nutzung des Pakets zu vereinfachen und die Anpassbarkeit zu erhöhen.

Wenn Sie msgpack5 zuvor in Ihrer App verwendet haben, müssen Sie Ihrer package.json-Datei einen direkten Verweis auf die Bibliothek hinzufügen.

Betroffene APIs

Die folgenden APIs wurden entfernt:

  • MessagePackOptions.disableTimestampEncoding
  • MessagePackOptions.forceFloat64