Condividi tramite


Libreria MessagePack modificata in @microsoft/signalr-protocol-msgpack

Il pacchetto npm @microsoft/signalr-protocol-msgpack ora fa riferimento a @msgpack/msgpack anziché a msgpack5. Inoltre, le opzioni disponibili che possono essere trasmesse facoltativamente a MessagePackHubProtocol sono state modificate. Le proprietà MessagePackOptions.disableTimestampEncoding e MessagePackOptions.forceFloat64 sono state rimosse e sono state aggiunte alcune nuove opzioni.

Per informazioni, vedere https://github.com/dotnet/aspnetcore/issues/30471.

Versione introdotta

ASP.NET Core 6.0

Comportamento precedente

Nelle versioni precedenti, è necessario includere tre riferimenti di script per usare il protocollo hub MessagePack nel browser:

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

Nuovo comportamento

A partire da ASP.NET Core 6, sono necessari solo due riferimenti di script per usare il protocollo hub MessagePack nel browser:

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

Anziché il pacchetto msgpack5, il pacchetto @msgpack/msgpack viene scaricato nella directory node_modules se si intende utilizzarlo direttamente nella propria applicazione.

Infine, MessagePackOptions ha nuove proprietà aggiuntive, mentre sono state rimosse le proprietà disableTimestampEncoding e forceFloat64.

Motivo della modifica

Questa modifica è stata apportata per ridurre le dimensioni degli asset, semplificare l'utilizzo del pacchetto e offrire una maggiore personalizzazione.

Se in precedenza si usava msgpack5 nell'applicazione, sarà necessario aggiungere un riferimento diretto alla libreria nel file package.json.

API interessate

Sono state rimosse le API seguenti:

  • MessagePackOptions.disableTimestampEncoding
  • MessagePackOptions.forceFloat64