【问题标题】:MVC4 bundle hash is different depending on serverMVC4 捆绑散列因服务器而异
【发布时间】:2013-11-27 19:23:22
【问题描述】:

对于我们的应用程序,MVC4 捆绑为任何给定捆绑生成的文件哈希(即“/bundles/myBundle?v=xxxxxx”)因我们点击的服务器而异。服务器确实运行相同操作系统的略有不同的版本,但我的印象是 SHA256 与机器和操作系统无关(只要它受支持)。我们已经反复检查并检查了我们文件位置中的 js 文件是否在服务器之间进行了镜像。

不是 IIS 专家,所以任何复杂的事情我都希望有一个清晰的过程。谢谢。

编辑:我们也刚刚意识到问题是两个 VM 服务器与两个非 VM。我们也在考虑这张票作为最后的手段,尽管我们的问题并不完全相同。 ASP.NET / MVC 4 bundling and minification 404 issues on 64-bit IIS 7.5 server

【问题讨论】:

  • 您误解了 ASP.NET 捆绑的用途。您不应该在哈希中引用确切的版本......它是在捆绑项目时动态生成的。它们不是在您部署之前预先捆绑。
  • 对,所以在应用程序启动时,服务器正在生成该哈希。为什么在应用程序启动时,一台服务器从一组文件生成一个包并从该包生成一个 SHA256,而另一台服务器生成具有不同哈希的相同包。

标签: asp.net-mvc bundling-and-minification


【解决方案1】:

哈希是从捆绑的 JS 的字节生成的。实际上,它们无法包含完全相同的信息但也具有不同的哈希值。如果您绝对确定它们在两台服务器上都是相同的,包括每个空格、制表符或换行符,那么实际的 HTML 页面可能会缓存在您的一台服务器上。只有在重新生成此页面本身时,才会更改请求捆绑包的实际哈希值。

【讨论】:

  • 感谢您的确认。我们镜像了整个站点,回收了应用程序池,甚至清除了临时文件。缩小是否有可能产生稍微不同的文件。这是否可以依赖于 IIS 配置?我们也刚刚意识到问题是两个 VM 服务器与两个非 VM。并找到了这个线程,我们将作为最后的手段调查这张票,尽管我们的问题并不完全相同。 stackoverflow.com/questions/15014169/…
猜你喜欢
  • 2013-10-22
  • 2013-02-01
  • 2012-06-21
  • 2013-04-02
  • 2012-07-22
  • 1970-01-01
  • 1970-01-01
  • 2012-10-29
  • 2017-06-10
相关资源
最近更新 更多