【问题标题】:Enable API Response Compression (gzip) on ServiceStack 5.8.1在 ServiceStack 5.8.1 上启用 API 响应压缩 (gzip)
【发布时间】:2020-02-27 19:12:56
【问题描述】:

我们有一个在 Azure 中运行的 ServiceStack 5.8.1 API,它使用 EF Core 对返回 500,000 多条记录的 Azure SQL 数据库运行查询。调用 API 方法会将数据的 JSON 表示返回到客户端。

同样在 Azure 中运行的前端客户端是 Angular 7.x SPA,它对 API 进行 HTTP 客户端调用并使用返回的 JSON 响应。

ServiceStack 中有没有一种方法可以启用响应压缩,例如 GZIP(不缓存 - 因为我们想要每个请求的最新数据),它将 JSON 响应发送回 Angular 客户端压缩格式?

如果可能,那么我们可以在 Angular 客户端中解压缩结果(如果可能的话),以减少通过网络传输的数据量。

【问题讨论】:

标签: angular7 gzip servicestack


【解决方案1】:

查看方法 ToOptimizedResultAsync。
如果您想要缓存的响应,还有 ToOptimizedResultUsingCache。

这里也提到了Enable gzip/deflate compression

例子:

var response = new SomeViewModel
{
  Results = ....
}

return base.Request.ToOptimizedResultAsync(response);

【讨论】:

  • 最好将他们推荐给Compression docs,这种情况下最简单的方法可能是使用[CompressResponse]属性。
猜你喜欢
  • 2021-10-03
  • 1970-01-01
  • 1970-01-01
  • 2012-02-12
  • 1970-01-01
  • 1970-01-01
  • 2013-12-29
  • 2014-02-20
  • 1970-01-01
相关资源
最近更新 更多