更改了 @microsoft/signalr-protocol-msgpack 中的 MessagePack 库

@microsoft/signalr-protocol-msgpack npm 包现在引用@msgpack/msgpack而不是 msgpack5。 此外,可以选择传递到 MessagePackHubProtocol 的选项已发生变化。 删除了属性MessagePackOptions.disableTimestampEncodingMessagePackOptions.forceFloat64,并添加了一些新选项。

有关讨论内容,请参阅 https://github.com/dotnet/aspnetcore/issues/30471

已引入的版本

ASP.NET Core 6.0

旧行为

在以前的版本中,必须包含三个脚本引用才能在浏览器中使用 MessagePack 中心协议

<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 中心协议

<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