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。
有没有人有任何示例说明如何在客户端设置 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。