@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
有了新的額外屬性,而 disableTimestampEncoding
和 forceFloat64
屬性已被移除。
變更的原因
這項變更是為了減少資產大小、更輕鬆地取用套件,並新增更多可自定義性。
建議的動作
如果您先前在應用程式中使用 msgpack5
,則必須在 package.json 檔案中新增連結到程式庫的直接參考。
受影響的 API
已移除下列 API:
MessagePackOptions.disableTimestampEncoding
MessagePackOptions.forceFloat64