加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

过期输出缓存ASP.Net MVC

发布时间:2020-12-15 23:46:08 所属栏目:asp.Net 来源:网络整理
导读:我在我的MVC应用程序中使用标准的outputcache标签,它的工作非常好,但是我需要强制它在某些时候被转储.我该如何实现?缓存的页面是由一个非常简单的路由{Controller} / {PageName}构建的 – 所以大多数页面都是这样的:/ Pages / About-Us 以下是我的.aspx视
我在我的MVC应用程序中使用标准的outputcache标签,它的工作非常好,但是我需要强制它在某些时候被转储.我该如何实现?缓存的页面是由一个非常简单的路由{Controller} / {PageName}构建的 – 所以大多数页面都是这样的:/ Pages / About-Us

以下是我的.aspx视图页面顶部的输出缓存标签:

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

因此,在同一个控制器的另一个操作中,内容被更新,我需要转储这个缓存,甚至是所有的 – 这是一个非常小的应用程序,所以不是一个很大的交易来转储所有缓存的项目.

解决方法

使用“无”与“”小心.

>如果发送“”,那么不会发送Vary的HttpHeader.
>如果发送“None”,则会发送Vary的HttpHeader.

我用Fiddler来验证这个行为.

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

我建议在this post中使用Varies =“”.对于我的javascript文件,我不希望浏览器返回并再次发出一个Http请求,直到它过期. 304是不必要的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读