Geänderte MessagePack-Bibliothek in @microsoft/signalr-protocol-msgpack
Das npm-Paket @microsoft/signalr-protocol-msgpack verweist jetzt auf @msgpack/msgpack
statt auf msgpack5
. Außerdem wurden die verfügbaren Optionen geändert, die an ein MessagePackHubProtocol
-Objekt übergeben werden können. Die Eigenschaften MessagePackOptions.disableTimestampEncoding
und MessagePackOptions.forceFloat64
wurden entfernt, und es wurden einige neue Optionen hinzugefügt.
Weitere Informationen finden Sie unter https://github.com/dotnet/aspnetcore/issues/30471.
Eingeführt in Version
ASP.NET Core 6.0
Altes Verhalten
In früheren Versionen müssen Sie drei Skriptverweise einschließen, um das MessagePack-Hubprotokoll 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-Hubprotokoll im Browser zu verwenden:
<script src="~/lib/signalr/signalr.js"></script>
<script src="~/lib/signalr/signalr-protocol-msgpack.js"></script>
Anstelle des msgpack5
-Pakets wird das @msgpack/msgpack
-Paket in das Verzeichnis node_modules heruntergeladen, wenn Sie es direkt in Ihrer App verwenden möchten.
Schließlich hat MessagePackOptions
neue zusätzliche Eigenschaften, und die Eigenschaften disableTimestampEncoding
und forceFloat64
wurden entfernt.
Grund für die Änderung
Diese Änderung wurde vorgenommen, um die Objektgröße zu verringern, die Nutzung des Pakets zu vereinfachen und weitere Anpassungsmöglichkeiten hinzuzufügen.
Empfohlene Maßnahme
Wenn Sie zuvor msgpack5
in Ihrer App verwendet haben, müssen Sie in Ihrer package.js-Datei einen direkten Verweis auf die Bibliothek hinzufügen.
Betroffene APIs
Die folgenden APIs wurden entfernt:
MessagePackOptions.disableTimestampEncoding
MessagePackOptions.forceFloat64