Используем преимущество сжатия¶
Ранее мы рассмотрели, как сконфигурировать сжатие на серверной стороне. Сжатие сконфигурировано, но не работает до тех пор, пока клиент не пришлёт заголовок с допустимыми методами сжатия, 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 г.
Дата создания : 23 апреля 2023 г.