gpt4 book ai didi

asp.net - 过期输出缓存 ASP.Net MVC

转载 作者:行者123 更新时间:2023-12-03 21:09:28 26 4
gpt4 key购买 nike

我在我的 MVC 应用程序中使用标准 outputcache 标签,它工作得很好,但我需要在某些时候强制转储它。我如何实现这一目标?被缓存的页面是从一个非常简单的路由 {Controller}/{PageName} 构建的 - 所以大多数页面都是这样的:/Pages/About-Us

这是位于我的 .aspx View 页面顶部的输出缓存标记,只是为了清楚:

<@ OutputCache Duration="100" VaryByParam="None" %>

因此,在更新内容的同一 Controller 上的另一个操作中,我需要转储此缓存,甚至全部转储 - 这是一个非常小的应用程序,因此转储所有缓存项目没什么大不了的。

最佳答案

小心使用“无”与“”。

  • 如果您发送“”,则是 Vary 的 HttpHeader没有发送。
  • 如果您发送“无”,则 Vary 的 HttpHeader已发送。

  • 我用过 Fiddler以验证此行为。

    这似乎会影响浏览器是否会返回服务器检查最新版本(导致 304)。至少在 Chrome 中是这样。您要使用 Varies=""如果您确定不想在文件过期之前更新文件。

    我建议使用 Varies=""正如我在 this post 中所做的那样.对于我的 javascript 文件,我不希望浏览器返回并发出另一个 Http 请求,直到它过期。 304 是不必要的。

    关于asp.net - 过期输出缓存 ASP.Net MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/376851/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com