@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 中心协议 :
<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
拥有新的、额外的属性,并且删除了disableTimestampEncoding
和forceFloat64
属性。
更改原因
此更改旨在减少资产大小,使使用包更简单,并添加更多的可自定义性。
建议的措施
如果以前在应用中使用 msgpack5
过,则需要在 package.json 文件中添加对库的直接引用。
受影响的 API
删除了以下 API:
MessagePackOptions.disableTimestampEncoding
MessagePackOptions.forceFloat64