ServiceStack - 如何压缩来自客户端的请求

ServiceStack - How To Compress Requests From Client

有没有人有任何示例说明如何在客户端设置 ServiceStack 以使用 GZip 自动压缩所有 请求?我找到了很好的例子,说明如何使用模块在服务器端自动解压缩请求,但在客户端没有。

谢谢!

ServiceStack 的 Service Clients 自动发送 Accept-Encoding: gzip,deflate HTTP Header 表示它接受 GZip 或 Deflated 响应。它可以被禁用:

client.DisableAutoCompression = true;

如果 Web 服务器 returns 用 Content-Encoding HTTP 响应 header 指示的压缩响应,则服务客户端透明地解压缩它。

对客户端 Gzip + Deflate 压缩的支持也已添加到 this commit 中的 ServiceStack 服务器和所有 C# 服务客户端。

这让您可以使用新的 RequestCompressionType 属性 发送客户端请求,例如:

var client = new JsonServiceClient(baseUrl)
{
    RequestCompressionType = CompressionTypes.GZip,
};

var response = client.Post(new NameOfDto { ... });

此功能从 v4.5.5+ 开始提供,现在是 available on MyGet