我有一个控制器可以提供一些响应,我正在尝试设置缓存,如下所示,
if(string.Equals( Request.Query["cached"] , "true", CultureInfo.IgnoreCase)){
Response.Cache.SetCacheability(HttpCacheability.Private);
Response.Cache.SetMaxAge(TimeSpan.FromDays(1));
Response.Cache.VaryByHeaders["Cookie"] = true;
}
当我在 Chrome 中看到响应时,我看到了标题,
Cache-Control: private, max-age=86400
Vary: Accept-Encoding
Vary header 可能是默认值,并且它正在更改。
我不想使用 OutputCache,因为仅对查询字符串参数 cached=true 启用了缓存。当我使用 ASP.NET MVC 4 时,我曾经看到响应
Vary:*
现在我已将我的项目升级到 ASP.NET MVC 5,但它不再工作。我只想根据登录名和 cookie 将响应缓存在浏览器(客户端)上。