【发布时间】:2012-05-20 15:27:27
【问题描述】:
我正在使用“SquishIt”来组合我的 .js 和 .css 文件。 问题是当所有其他资源为 200(来自缓存)时,squishit 捆绑包会导致 304(未更改)。如果我以常规方式放置文件,我会得到想要的 200 结果。 我的代码示例:
@MvcHtmlString.Create(@Bundle.JavaScript().Add("~/Scripts/Libs/jquery.cookie.js").Add("~/Scripts/Libs/jquery.dynatree.min.js").Add("~/Scripts/Libs/jquery.json-2.3.min.js").Add("~/Scripts/Libs/jsrender.js").Add("~/Scripts/Libs/jstorage.min.js").Add("~/Scripts/Common/utils.js").Add("~/Scripts/DataServices/AccountDataServices.js").Add("~/Scripts/AccountSelection.js").WithMinifier<SquishIt.Framework.Minifiers.JavaScript.MsMinifier>().Render("~/Scripts/AccSelectionscriptBandle_#.js"))
结果:
编辑: 我正在使用“调试=假”; 所有其他资源均为 200(来自缓存)
【问题讨论】:
-
您必须查看标题,但我怀疑它使用 etag 进行缓存控制。 “未修改”状态意味着浏览器实际上正在使用缓存,但它会检查服务器以检查当前的 etag 值,以便知道它可以使用缓存的版本。
-
谢谢,我在 web.config 中添加了
<staticContent> <clientCache cacheControlCustom="public" cacheControlMode="UseMaxAge" cacheControlMaxAge="500.00:00:00" /> </staticContent>- 解决了问题
标签: javascript css bundle browser-cache squishit