bundle(System.Web.Optimization)如何为bundle-links生成构建指纹?

时间:2013-05-09 09:57:15

标签: asp.net-mvc-4 asp.net-optimization

在MVC-4中,用于压缩CSS和CSS的捆绑包可以使用此Razor语法在布局文件中链接Js文件:@Scripts.Render("~/JavaScripts")

这将在布局文件中生成一个包含fingerprint的链接,该链接在每个应用程序版本上重新生成,以协助缓存控制。

所以生成的链接如下:

<script src="/JavaScripts?v=dSMc_JTHMMP5GrWnILSYt_QBMw-g1pPlzknSorXpkyQ1"></script>

我想知道指纹是如何生成的(用于类似目的),但Sytem.Web.Optimization还没有开源。

1 个答案:

答案 0 :(得分:6)

使用来自捆绑包的字节的sha256哈希生成指纹,然后进行编码:

            byte[] hash = sha256.ComputeHash(Encoding.Unicode.GetBytes(bundle));
            return HttpServerUtility.UrlTokenEncode(hash);