共用方式為


已變更 MessagePack 庫 @microsoft/signalr-protocol-msgpack

@microsoft/signalr-protocol-msgpack npm 套件現在參考 @msgpack/msgpack ,而不是 msgpack5。 此外,可以選擇性地傳遞至 MessagePackHubProtocol 的可用選項已變更。 MessagePackOptions.disableTimestampEncoding已移除 和 MessagePackOptions.forceFloat64 屬性,並新增了一些新選項。

如需討論,請參閱 https://github.com/dotnet/aspnetcore/issues/30471

推出的版本

ASP.NET Core 6.0

舊行為

在舊版中,您必須包含三個腳本參考,才能在瀏覽器中使用 MessagePack Hub 通訊協定

<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 Hub 通訊協定

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

在您的應用程式中直接使用時,會下載msgpack5套件至您的@msgpack/msgpack 目錄,而不是套件。

最後,MessagePackOptions 有了新的額外屬性,而 disableTimestampEncodingforceFloat64 屬性已被移除。

變更的原因

這項變更是為了減少資產大小、更輕鬆地取用套件,並新增更多可自定義性。

如果您先前在應用程式中使用 msgpack5,則必須在 package.json 檔案中新增連結到程式庫的直接參考。

受影響的 API

已移除下列 API:

  • MessagePackOptions.disableTimestampEncoding
  • MessagePackOptions.forceFloat64