我在我的 MVC 应用程序中使用标准 outputcache 标签,它工作得很好,但我需要在某些时候强制转储它。我如何实现这一目标?被缓存的页面是从一个非常简单的路由 {Controller}/{PageName} 构建的 - 所以大多数页面都是这样的:/Pages/About-Us
这是位于我的 .aspx View 页面顶部的输出缓存标记,只是为了清楚:
<@ OutputCache Duration="100" VaryByParam="None" %>
因此,在更新内容的同一 Controller 上的另一个操作中,我需要转储此缓存,甚至全部转储 - 这是一个非常小的应用程序,因此转储所有缓存项目没什么大不了的。
最佳答案
小心使用“无”与“”。
我用过 Fiddler以验证此行为。
这似乎会影响浏览器是否会返回服务器检查最新版本(导致 304)。至少在 Chrome 中是这样。您要使用
Varies=""
如果您确定不想在文件过期之前更新文件。我建议使用
Varies=""
正如我在 this post 中所做的那样.对于我的 javascript 文件,我不希望浏览器返回并发出另一个 Http 请求,直到它过期。 304 是不必要的。
关于asp.net - 过期输出缓存 ASP.Net MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/376851/