我正在寻找一种在.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? 预先感谢。