2

当您将脚本或样式包添加到 mvc 站点时,捆绑框架会将版本附加到输出标记。

例如<script src="/Scripts/custom/App.js?v=nf9WQHcG-UNbqZZzi4pJC3igQbequHCOPB50bXWkT641"></script> 注意查询字符串?v=xxx-xxx

如果您在多台服务器上托管您的应用程序,那么每台服务器的资源 url 都会附加一个不同的版本,这意味着在经典的循环负载平衡环境中,您每次访问不同的服务器时都会下载该资源。

对我来说,似乎在某些方面否定了捆绑的价值,因为初始加载更快,但在随后的用户交互中体验到性能下降。

在实践中,其他人是如何处理这个问题的,我知道这取决于下载的大小,因为压缩和压缩后的资源很小,但在许多情况下可能并非如此。那么,如何在一个高横向扩展环境中以最少的努力获得捆绑和缩小的好处。

4

1 回答 1

3

实际上,版本号是文件内容的哈希值。因此,如果您在 webfarm 的所有节点上都有相同的 javascript 文件,它们应该都获得相同的版本号。如果您得到不同的哈希值,这可能表明您没有在 webfarm 的所有节点上部署这些文件的相同内容。

于 2013-07-10T06:52:00.390 回答