是否有可能改变System.Web.Optimization呈现包的方式?
发自:
<script src="/bundles/js/bundlename?v=GMFuN8gzKMcwk5BwaMfgjUlieAXKThyQd8twrVplJ8A1"></script>像这样的习俗:
<script src="/bundles/js/v-GMFuN8gzKMcwk5BwaMfgjUlieAXKThyQd8twrVplJ8A1/bundlename"></script>更新:不理想,但小麻烦的解决办法:
public static class BundlesHelper
{
public static IHtmlString RenderScripts(params string[] paths)
{
#if DEBUG
return System.Web.Optimization.Scripts.Render(paths);
#endif
// Get raw string
var rawString = System.Web.Optimization.Scripts.Render(paths).ToHtmlString();
// Get version value
var version = Regex.Match(rawString, @"\?v=([0-9a-zA-Z_-])+").Value;
// Remove old hash
rawString = rawString.Replace(version, "");
// Remove script end tag
rawString = rawString.Replace("</script>", "");
// Get last index of "/"
var index = rawString.LastIndexOf('/');
// Return new string
return new HtmlString(rawString.Insert(index, "/v-" + version.Replace("?v=", "")) + "</script>");
}
}发布于 2015-01-30 16:12:31
不是的。这不是重点。查询字符串部分是缓存破坏程序。该文件位于脚本src所称的位置,并且不会改变。在您想要的版本中,文件的实际物理位置必须更改。
https://stackoverflow.com/questions/28239820
复制相似问题