以下是我的Fidler。
我对Combres的功能有疑问。 Url.Combress可以缓存css文件。对?如果您从物理位置删除css文件。我收到404错误?为什么?因为此文件是缓存的。所以它不应该从它的物理位置挑选。相反,它应该从缓存中挑选。正确吗
我正在使用MVC3。我在程序包管理器控制台
中安装了 Nuget Package combresInstall-Package combres.mvc
以下是我的路线表的证据
我的布局中有两个文件。
<link href=""~/Content/Site.css" type="text/css" />
<script src="~/Scripts/jquery-1.7.1.min.js" type="text/javascript"></script>
Combress.xml设置
<combres xmlns='urn:combres'>
<filters>
<filter type="Combres.Filters.FixUrlsInCssFilter, Combres" />
</filters>
<resourceSets url="~/combres.axd"
defaultDuration="30"
defaultVersion="auto"
defaultDebugEnabled="auto"
defaultIgnorePipelineWhenDebug="true"
localChangeMonitorInterval="30"
remoteChangeMonitorInterval="60"
>
<resourceSet name="siteCss" type="css">
<resource path="~/content/Site.css" />
</resourceSet>
<resourceSet name="siteJs" type="js">
<resource path="~/scripts/jquery-1.7.1.min.js" />
</resourceSet>
</resourceSets>
</combres>
当我执行以下路径时
http://localhost:2474/Home/About
我想,每次都是下载上述文件。根据我的理解,combress应该缓存在combres.xml设置中提到文件的images / css / js文件。
答案 0 :(得分:2)
您需要以不同方式引用文件。由于您使用的是asp.net-mvc,我建议您也安装这个补充的nuget包
Install-Package combres.mvc
然后在您的母版页中,或者您想要不同资源的地方
@Url.CombresLink("siteCss")
@Url.CombresLink("siteJs")
注意:在添加上述代码行之前。在布局页面中添加@using Combres.Mvc;
。
根据documentation,这是标准建议。
请注意,您可能希望在调试模式下拥有完整源代码,并且只能在发布模式下合并,这是资源集上的设置:defaultDebugEnabled="auto"
还有其他注意事项,但这应该足以开始。