WebResource.axd выбрасывает исключения в веб-ферму

У нас есть массив из около 12 серверов, обслуживающих веб-сайт. За последние несколько часов один сервер начал генерировать исключения для запросов WebResource.axd и ScriptResource.axd.

исключение

System.Web.HttpException - это неверный запрос ресурса скрипта.

Трассировки стека

в System.Web.Handlers.ScriptResourceHandler.ProcessRequest (контекст HttpContext)
в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
в System.Web.HttpApplication.ExecuteStep(шаг IExecutionStep, логический и завершен синхронно)

Неработающий URL сервера

/WebResource.axd?d=S6kjkBsrIKni9uO5HCkv0c8eYObzibWXn9R6A7Yr_Fy7CW4dRFZm1HfcnUTEZ8xBYZDM-5zeTVk1tTgC1hp7d5YYw3o1&t=634308186300177825

URL всех остальных серверов

/WebResource.axd?d=yj6PW1hbOvqhMkOh2gYGlw2&t=634207187366247462

Я проверил web.config, machine.config для каждого сервера, и все они идентичны. Единственное различие, которое удалось найти до сих пор, заключается в том, что до начала проблемы серверы были исправлены, после чего проблемный сервер, похоже, использует другую версию System.Web.dll для других?

Есть идеи?

2 ответа

Решение

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

Чтобы определить, какая DLL была затронута, я использовал следующее для расшифровки параметров строки запроса webresource.axd:

http://blogs.telerik.com/aspnet-ajax/posts/07-03-27/debugging-asp-net-2-0-web-resources-decrypting-the-url-and-getting-the-resource-name.aspx

"? D =yj6PW1hbOvqhMkOh2gYGlw2&t=634207187366247462" является ссылкой (как-то, что-то вроде хэша или чего-то еще?) На ресурс в system.web.dll, так что по разным причинам на этом сервере эта dll недействительна.

Другие вопросы по тегам