2

我们在我们的网站中引用了一个 .NET Ajax dll。

当我访问站点内的页面时,我可以看到,当我从特定服务器加载页面时,同一个 Ajax 处理程序有不同的“d”查询字符串参数,而不是通过负载均衡器发出相同请求时(见下文)。

t 参数是从 dll 的日期时间戳中散列的,我可以看到为什么会有所不同。但是为什么相同的 dll 参考和版本的 d 会有所不同?

负载均衡器

/ScriptResource.axd?d=PmKR-yELzZqHd6ahn_jO60nmNNm2-7DLsOUMBdWWoRvNOUcZqhzFBQ1SazOIb9JQY7eSczxTV7nTOIlKEZZBR7BKeRX9crISkYs8BdYxT941&t=3388055b

特定的 Web 服务器

/ScriptResource.axd?d=_51rN8R7C6p5eAgxsk7XbD-wE3JMst-TGEsez2WKD6lGzlajzn_VD0vFY-jVyPFOhR177ar5QLKJSTtrzdEMxmpQ0soRnXJjGfBuzlffYxU1&t=ffffffffe4190d3a

4

1 回答 1

4

哈希值是根据引用脚本所在的 DLL 的“创建”时间戳计算的。如果两个文件有两个不同的时间戳,“d”值就会不同。

这些 DLL 驻留在GAC(全局程序集缓存)中。我们遇到问题的特定 DLL 是 System.Web.dll 和/或 System.Web.Extensions.dll。

痛吗?是的。我们解决它的方法是将文件从我们的两台服务器中的一台复制到另一台。我认为你也可以做一些类似于“触摸”的事情。

于 2009-10-12T21:22:06.240 回答