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