Перейти к содержанию

Используем преимущество сжатия

Ранее мы рассмотрели, как сконфигурировать сжатие на серверной стороне. Сжатие сконфигурировано, но не работает до тех пор, пока клиент не пришлёт заголовок с допустимыми методами сжатия, HeaderGrpcAcceptEncoding.
Чтобы проверить содержимое этого заголовка на серверной стороне, нужно обратиться к HTTP-контексту внутри обработчика вызова:

        var headers = context.GetHttpContext().Request.Headers;
        headers.GrpcAcceptEncoding; //Одним из значений должно быть br для алгоритма Brotli

Чтобы использовать сжатие, добавим провайдер в настройках канала:
var channel = GrpcChannel.ForAddress(
    "https://localhost:7282",
    new GrpcChannelOptions
    {
        CompressionProviders = new List<ICompressionProvider>
        {
            new BrotliCompressionProvider()
        }
    });

Если посмотреть логи, можно увидеть, что сообщения разжимаются алгоритмом br.
Также обратите внимание, что сжатию подвергаются только ответные сообщения, а не сообщеня запросов.


Последнее обновление : 23 апреля 2023 г.
Дата создания : 23 апреля 2023 г.

Комментарии

Комментарии