我有一个ASP.Net站点(碰巧是MVC,但这里不相关),其中有几个页面我希望缓存得很好。
具体地说,我希望实现:
(注-以上时间值仅为指示性示例)
Response.Cache.SetCacheability(HttpCacheability.Server)
发出etags
但我似乎不能让所有这些东西一起工作。这就是我所拥有的:
Response.Cache.SetCacheability(HttpCacheability.ServerAndPrivate);
Response.Cache.SetRevalidation(HttpCacheRevalidation.AllCaches);
Response.Cache.SetETagFromFileDependencies();
Response.Cache.SetValidUntilExpires(true);
Response.Cache.SetMaxAge(TimeSpan.FromSeconds(60 * 10));
我想要的场景可能吗?特别是:
谢谢你的建议!
发布于 2011-01-31 23:46:26
我不确定你是否已经解决了这个问题(几个月后……),但这应该是可能的。
SetMaxAge
应该设置“受保护”的新时间的数量。如果你另外发送一个ETag,你已经满足了3& 4。需求1和2可以用你使用的任何服务器端缓存机制正交地解决:我从来没有像这样使用过ASP.NET服务器端缓存,但它几乎肯定是可能的。
我会从你的响应中删除无关的报头,比如SetRevalidation
--为什么这是必要的?
https://stackoverflow.com/questions/3704433
复制相似问题