在.Net Core Web Service客户端中启用Gzip

时间:2019-06-04 06:45:08

标签: c# wcf .net-core webservice-client

我正在寻找一种在.net核心的Web服务客户端中启用gzip压缩的方法。

我已经使用dotnet-svcutil版本1.0.4从架构文件生成了一些客户端类,并将这些引用放在.net标准2.0项目中。 客户端由.net core 2.2项目用来使用Web服务。 我使用BasicHttpBinding进行端点绑定,并且一切正常,直到需要启用gzip为止。我发现这部分文档不足,因此无法从社区解决方案中获得很多帮助。

        public static void ConfigureClient<T>(this ClientBase<T> client, int timeoutMs)
            where T : class 
        {
            var binding = new BasicHttpBinding(BasicHttpSecurityMode.Transport);
            binding.OpenTimeout = binding.CloseTimeout = 
            binding.SendTimeout = binding.ReceiveTimeout = TimeSpan.FromMilliseconds(timeoutMs);
            binding.MaxReceivedMessageSize = binding.MaxBufferPoolSize = binding.MaxBufferSize = 2147483647;
            binding.ReaderQuotas.MaxArrayLength =
            binding.ReaderQuotas.MaxStringContentLength =
            binding.ReaderQuotas.MaxBytesPerRead =
            binding.ReaderQuotas.MaxNameTableCharCount = 2147483647;
            binding.TextEncoding = Encoding.UTF8;
            binding.Security.Transport.ClientCredentialType = HttpClientCredentialType.Basic;

            client.Endpoint.Binding = binding;
        }

因此,我向您的帮助寻求建议/文档,如何在wcf的.net核心客户端中启用gzip? 预先感谢。

0 个答案:

没有答案