Документация из MessagePack для C# гласит, что с помощью сжатия LZ4 вы можете получить компактные двоичные размеры вашей полезной нагрузки. в документах вы можете использовать: enter code here
var lz4Options = MessagePackSerializerOptions.Standard.WithCompression(MessagePackCompression.Lz4BlockArray);
MessagePackSerializer.Serialize(obj, lz4Options);
Таким образом, в основном говорится, что при вызове всех методов Serialize () и Deserialize () вы должны указать исключительно параметры сжатия.
Но при работе с . NET Signalr эти методы напрямую не вызывать. Пакет Nuget Microsoft.AspNetCore.SignalR.Protocols сделает это за вас. вам нужно только указать приложениям serviceCollection сделать это в ConfigureServices () метод:
public void ConfigureServices(IServiceCollection services)
{
services.AddSignalR().AddMessagePackProtocol();
}
Так что мне любопытно, как указать MessagePackSerializationOptions для сигнализатора для используйте сжатие LZ4. Я уже пытался изменить настройку параметров по умолчанию в основном методе приложения:
MessagePackSerializer.DefaultOptions = MessagePackSerializerOptions.Standard.WithCompression(MessagePackCompression.Lz4BlockArray);
Но, во-первых, это не рекомендуется, а во-вторых, похоже, не работает: D