我的网站有一个主页,我想为匿名用户缓存该页面,并将其设置为经过身份验证的用户的“私有(private)”(因此他们将其保存在他们的计算机上,别无他处)。
所以,如果用户是匿名的,我想将页面保存在服务器缓存中,也可以使用 Cache-control:public, max-age=60
保存在浏览器缓存中。和 Vary:Cookie
,因此如果浏览器通过身份验证并发送 cookie,浏览器将不会重用之前存储的页面。
如果用户通过了身份验证,那么我不希望页面存储在服务器中,但我在客户浏览器上使用 Cache-control:private, max-age=60
.
我一直在尝试使用 OutputCacheAttribute 和 Response.Cache 的几种组合,但我无法做到正确。
最好的方法是什么?
问候。
最佳答案
您可以尝试实现 VaryByCustom
将区分匿名用户和经过身份验证的用户的规则。这里是 an example这应该让你走上正确的轨道。
关于asp.net - 在 ASP.NET MVC 3 中为未经身份验证的用户缓存主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9180954/