Asp.net 无效。以下资源在chrome audit中是显式不可缓存的消息

Asp.net 无效。以下资源在chrome audit中是显式不可缓存的消息,asp.net,google-chrome,asp.net-mvc-4,mono,browser-cache,Asp.net,Google Chrome,Asp.net Mvc 4,Mono,Browser Cache,ASP.NET MONO MVC4应用程序使用mod_MONO在apache中运行 页面应仅缓存在浏览器或代理服务器中,以节省服务器内存 浏览器使用标题从服务器获取产品列表 Request URL:http://example.com/store/Store/Category/ANDRORI?root=1&open=True&total=2.76 Request Method:GET Status Code:200 OK Remote Address:1.2.3.4:80 服务

ASP.NET MONO MVC4应用程序使用mod_MONO在apache中运行 页面应仅缓存在浏览器或代理服务器中,以节省服务器内存

浏览器使用标题从服务器获取产品列表

Request URL:http://example.com/store/Store/Category/ANDRORI?root=1&open=True&total=2.76
Request Method:GET
Status Code:200 OK
Remote Address:1.2.3.4:80
服务器返回带有标题的产品列表页:

HTTP/1.1 200 OK
Date: Wed, 06 Jan 2016 16:52:47 GMT
Server: Apache/2.2.22 (Debian)
X-AspNet-Version: 4.0.30319
Cache-Control: private
Vary: Accept-Encoding
Content-Encoding: gzip
Content-Length: 8668
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=utf-8
Chrome开发者工具页面审核写入了有关此页面的警告

The following resources are explicitly non-cacheable. Consider making them cacheable if possible:
每次都读这一页。响应包含

Cache-Control: private
所以页面必须缓存在浏览器中。 如何修复此问题,以便页面可以缓存在客户端中

我试图添加控制器

[OutputCache(Location = System.Web.UI.OutputCacheLocation.Client, Duration = 20 * 60)]
但在这种情况下,页面被缓存在服务器中,查询字符串参数被忽略。
服务器为所有查询字符串参数发送相同的页面。

是否尝试使用varybyparam?我尝试了
varybyparam=“*”
以及
OutputCacheLocation。下游
但服务器仍然为每个url缓存相同的页面。这在中进行了描述。这里的问题不同,它问:为什么chrome不缓存MVC页面?可能缺少某些标头或
max age
,可以使用控制器中的AddHeader()添加这些标头。