Asp.net mvc 缓存并直接向响应提供gzip JSON

Asp.net mvc 缓存并直接向响应提供gzip JSON,asp.net-mvc,caching,redis,Asp.net Mvc,Caching,Redis,我通过ASP.NETMVC中的Stackexchange.Redis在Redis中缓存JSON字符串 在将字符串存储到Redis缓存之前,我将对其进行GZip处理,以帮助提高性能 在从缓存中检索JSON字符串后,不压缩JSON字符串,只让它们在发送到浏览器时再次被压缩,是否可以不压缩JSON字符串并直接将其提供给浏览器 以下尝试将gzip字符串直接提供给浏览器是无效的 string uncompressed = "Test text"; string compressed = GZipH

我通过ASP.NETMVC中的Stackexchange.Redis在Redis中缓存JSON字符串

在将字符串存储到Redis缓存之前,我将对其进行GZip处理,以帮助提高性能

在从缓存中检索JSON字符串后,不压缩JSON字符串,只让它们在发送到浏览器时再次被压缩,是否可以不压缩JSON字符串并直接将其提供给浏览器

以下尝试将gzip字符串直接提供给浏览器是无效的

  string uncompressed = "Test text";
  string compressed = GZipHelper.Compress(uncompressed);                        
  Response.AppendHeader("Content-encoding", "gzip");
  return this.Content(compressed, "application/json");

为什么不在返回这些JSON的操作上设置输出缓存呢。如果需要的话,你可以把它做成VaryByParamit@AlexArt. 这是一个很好的观点。我没有使用输出缓存,因为我在缓存错误页并在以后提供时遇到问题。我发现现在可以防止这种情况,输出缓存看起来是最好的选择。我认为在某些情况下,能够做到以上几点可能会很有用,所以我将把问题留在这里。