我正在尝试开发一种在使用Bundles的ASP.NET C#应用程序中打破通过css url属性链接的文件的缓存的自动方法。
具体来说,我最近在我的网站上添加了一个图标字体,创建@fontface的css通过url加载字体文件:
@font-face {
font-family: "iconfont";
src:url("/fonts/iconfont.eot");
src:url("/fonts/iconfont.eot&#iefix") format("embedded-opentype"),
url("/fonts/iconfont.woff") format("woff"),
url("/fonts/iconfont.ttf") format("truetype"),
url("/fonts/iconfont.svg#iconfont") format("svg");
font-weight: normal;
font-style: normal;
}
这意味着用户在第一次加载页面时会缓存字体文件。但是如果我更新字体文件,我需要打破这个缓存,我可以使用查询字符串来实现这一点,例如:
src:url("/fonts/iconfont.eot?v1");
但是,我希望能够通过代码实现这一点,这样我就不必在我网站上使用url的所有css属性上维护查询字符串。
到目前为止,我的捆绑代码看起来像这样:
bundles.Add(new StyleBundle("~/Content/IconFont").Include("~/css/iconFont.css"));