更改了 @microsoft/signalr-protocol-msgpack 中的 MessagePack 库
npm 包 @microsoft/signalr-protocol-msgpack 现在引用 @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>
如果想要直接在应用中使用,则会将 @msgpack/msgpack
包(而不是 msgpack5
包)下载到 node_modules 目录中。
最后,MessagePackOptions
具有新的附加属性,并且删除了 disableTimestampEncoding
和 forceFloat64
属性。
更改原因
进行此更改是为了减小资产大小、更简单地使用包并添加更多可定制性。
建议操作
如果以前在应用中使用 msgpack5
,则需要在 package.json 文件中添加对库的直接引用。
受影响的 API
删除了以下 API:
MessagePackOptions.disableTimestampEncoding
MessagePackOptions.forceFloat64