在 IIS8 中使用 servicestack 时如何启用 HTTP 压缩
How do I enable HTTP Compression when using servicestack with IIS8
我有一个基于最新版本的 servicestack 4 构建的项目。无论我尝试什么,响应似乎总是不包括 content-coding:gzip。我已经在 IIS 上启用了动态压缩。不知道还能做什么。
我需要在我的编码中添加一些东西吗?我认为如果支持它会自动使用压缩,否?
很需要有人指点方向
谢谢!!
如果您只想添加 header,您可以随时添加带有响应过滤器的 GZip ContentEncoding 响应 Header,例如:
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
});
}
我有一个基于最新版本的 servicestack 4 构建的项目。无论我尝试什么,响应似乎总是不包括 content-coding:gzip。我已经在 IIS 上启用了动态压缩。不知道还能做什么。
我需要在我的编码中添加一些东西吗?我认为如果支持它会自动使用压缩,否?
很需要有人指点方向
谢谢!!
如果您只想添加 header,您可以随时添加带有响应过滤器的 GZip ContentEncoding 响应 Header,例如:
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
});
}