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

时间:2015-12-10 20:22:56

标签: compression servicestack gzip

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

谢谢!

1 个答案:

答案 0 :(得分:1)

ServiceStack Service Clients自动发送Accept-Encoding: gzip,deflate HTTP标头,表明它接受GZip或Deflated响应。它可以通过以下方式禁用:

client.DisableAutoCompression = true;

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

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

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

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

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

此功能适用于v4.5.5 +现在available on MyGet