SignalR компрессия? (net core 3.1)
От: VladCore  
Дата: 03.08.21 02:56
Оценка:
Update: Ждем в версии 6.0.0? https://github.com/dotnet/runtime/issues/31088

Застрял я жутко. Не пойму как включить компрессию в SignalR в направлении сервер-->браузер

я так подозреваю нужно старонний "мидлваре" подключать, но те что есть они все старые еще под древний .NET? гугл и стекфверфлоу по мне жуткий треш выдают.

Если это важно .NET Core 3.1

В браузере вижу permessage-deflate в заголовке на handhake-запрос:
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits


В Startup.cs есть только для Web API компрессия (или она для WebSocket тоже?)
services.AddResponseCompression(x => { x.MimeTypes = CompressedMimeTypes.List; });
...
app.UseResponseCompression();

кастомный CompressedMimeTypes.List — чуть больше чем дефолтовый. наврядли из за него проблема.

в браузере используется пакет @microsoft/signalr
let hub = new signalR.HubConnectionBuilder().withUrl("/api-hubs/...");
this.connection = hub.build();
this.connection.on(...)

У этого билдера есть hub.httpConnectionOptions, но там про compression вроде ничего нет. или я плохо искал


Если кому интересно откуда я знаю что компрессии нет, то это большая другая тема 😉
Отредактировано 14.08.2021 5:28 VladCore . Предыдущая версия . Еще …
Отредактировано 03.08.2021 3:04 VladCore . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.