ScriptResource.axd d параметр строки запроса - PullRequest
1 голос
/ 03 октября 2009

Мы ссылаемся на .NET Ajax dll на нашем сайте.

Когда я получаю доступ к странице на сайте, я вижу, что при загрузке страницы с определенного сервера разные параметры строки запроса d для одного и того же обработчика Ajax отличаются от параметров при выполнении одного и того же запроса через балансировщик нагрузки. (см. ниже).

Параметр t хешируется из метки даты-времени в dll, я понимаю, почему это будет отличаться. Но почему d будет отличаться для той же самой ссылки и версии dll?

Балансировщик нагрузки

/ ScriptResource.axd? Д = PmKR-yELzZqHd6ahn_jO60nmNNm2-7DLsOUMBdWWoRvNOUcZqhzFBQ1SazOIb9JQY7eSczxTV7nTOIlKEZZBR7BKeRX9crISkYs8BdYxT941 & т = 3388055b

Специальный веб-сервер

/ ScriptResource.axd? Д = _51rN8R7C6p5eAgxsk7XbD-wE3JMst-TGEsez2WKD6lGzlajzn_VD0vFY-jVyPFOhR177ar5QLKJSTtrzdEMxmpQ0soRnXJjGfBuzlffYxU1 & т = ffffffffe4190d3a

1 Ответ

3 голосов
/ 13 октября 2009

Значение хеш-функции вычисляется на основе «созданной» временной метки библиотеки DLL, в которой находится указанный скрипт. Если два файла имеют две разные временные метки, значение "d" будет другим.

Эти библиотеки DLL находятся в GAC (глобальный кэш сборок) . Конкретные библиотеки DLL, с которыми у нас были проблемы, были System.Web.dll и / или System.Web.Extensions.dll.

Боль? Да. Мы получили способ скопировать файл с одного из наших двух серверов на другой. Я думаю, что вы также можете сделать что-то похожее на "touch".

...