我需要在我的Mvc项目中捆绑我的.js文件和lib文件,我正在寻找bundle的版本号,因为我的浏览器需要在添加新版本时重新加载所有.js和.lib文件或构建被推送到dev / testing / prod环境。
答案 0 :(得分:1)
ASP.NET MVC中的捆绑已经有一个内置机制,用于处理发布版本的这类缓存破坏场景per the "Bundle Caching" section of this documentation:
只要捆绑包没有更改,ASP.NET应用程序就会使用此令牌请求AllMyScripts捆绑包。如果有任何文件 捆绑更改,ASP.NET优化框架将生成一个新的 令牌,保证浏览器对捆绑包的请求将获得 最新的捆绑。
此功能在名为v
的查询字符串中使用一个标记来表示该包的当前“版本”,如下所示:
v=r0sLDicvP58AIXN_mc3QdyVvVj5euZNzdsa2N1PKvb81
这可以作为特定构建的唯一标识符,只要bundle中没有任何内容被更改,它就会继续使用它,否则会生成一个新的“破坏”任何现有的缓存。
适用于非发布版
如果您需要在非发布版本中处理此问题,那么我相信您可以将EnableOptimizations
属性设置为true
以始终处理此问题:
BundleTable.EnableOptimizations = true;