WebResource.axd выбрасывает исключения в веб-ферму - PullRequest
1 голос
/ 18 января 2011

У нас есть массив из около 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? Д = S6kjkBsrIKni9uO5HCkv0c8eYObzibWXn9R6A7Yr_Fy7CW4dRFZm1HfcnUTEZ8xBYZDM-5zeTVk1tTgC1hp7d5YYw3o1 & т = 634308186300177825

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

/ WebResource.axd? Д = yj6PW1hbOvqhMkOh2gYGlw2 & т = 634207187366247462

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

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 21 января 2011

Найдена основная причина проблемы. На проблемном сервере было применено исправление безопасности, которое обновило 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

0 голосов
/ 18 января 2011

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

...