我有一个基于最新版本的servicestack 4构建的项目。似乎响应总是不包括内容编码:gzip无论我尝试过什么。我已经在IIS上启用了动态压缩功能。不知道还能做什么。
我是否需要在编码中添加一些内容?我认为如果支持它会自动使用压缩,不是吗?
真的需要有人指明方向
谢谢!
答案 0 :(得分:1)
如果您只想添加标题,可以随时添加带有响应过滤器的GZip ContentEncoding响应标头,例如:
GlobalRequestFilters.Add((req, res, dto) =>
res.AddHeader(HttpHeaders.ContentEncoding, CompressionTypes.GZip));
但ServiceStack只有compresses cached responses itself,即使用ToOptimizedResult()
API或在CompressedResult
中返回回复时,例如:
public object Get(CachedOrders request)
{
var cacheKey = "unique_key_for_this_request";
return base.Request.ToOptimizedResultUsingCache(base.Cache,cacheKey,()=>
{
//Delegate is executed if item doesn't exist in cache
//Any response DTO returned here will be cached automatically
});
}