我们在网站中引用了一个.NET Ajax dll。
当我访问站点内的页面时,我可以看到当我从特定服务器加载页面时,同一个Ajax处理程序有不同的'd'查询字符串参数,而不是通过负载均衡器发出相同的请求时(见下文)。
从dll的日期时间戳中对t参数进行哈希处理,我可以看出为什么会有所不同。但是为什么d对于相同的dll参考&版本
负载均衡器
/ScriptResource.axd?d=PmKR-yELzZqHd6ahn_jO60nmNNm2-7DLsOUMBdWWoRvNOUcZqhzFBQ1SazOIb9JQY7eSczxTV7nTOIlKEZZBR7BKeRX9crISkYs8BdYxT941&t=3388055b
特定Web服务器
/ScriptResource.axd?d=_51rN8R7C6p5eAgxsk7XbD-wE3JMst-TGEsez2WKD6lGzlajzn_VD0vFY-jVyPFOhR177ar5QLKJSTtrzdEMxmpQ0soRnXJjGfBuzlffYxU1&t=ffffffffe4190d3a
答案 0 :(得分:3)
哈希值是根据引用脚本所在的DLL的“已创建”时间戳计算的。如果这两个文件有两个不同的时间戳,则“d”值将不同。
这些DLL驻留在GAC (Global Assembly Cache)中。我们遇到问题的具体DLL是System.Web.dll和/或System.Web.Extensions.dll。
痛苦?是。我们解决它的方法是将文件从我们的两个服务器之一复制到另一个服务器。我认为你也可以做类似“触摸”的事情。