Назад | Перейти на главную страницу

Как в IIS 7.5 узнать, какие модули и обработчики выполняются для конкретного запроса?

Я пытаюсь отладить / проверить свой файл web.config для приложения ASP.Net MVC 3, работающего на IIS 7.5.

Когда поступает запрос, он проходит через стек настроенных модулей HttpModules и, наконец, доставляется конкретному HttpHander. Мне нужен способ выполнить запрос, а затем зарегистрировать / просмотреть ВСЕ модули, которые были запущены, и какой обработчик фактически получил запрос. ВКЛЮЧАЯ модули / обработчики, встроенные в IIS, а не только мои собственные.

Причина, по которой я хочу это, заключается в том, что у меня есть основания полагать, что модуль состояния сеанса работает для статических файлов. Я хочу убедиться, что у меня все исправлено, а также убедиться, что с моими статическими файлами, такими как модуль авторизации форм, например, ничего смешного не происходит.

Мое приложение работает в интегрированном режиме.

Состояние сеанса вполне может быть запущено для статических файлов!

Самый простой способ узнать - это FREB. Используйте трассировку неудачных запросов и установите условие «сбой» 200 в правилах трассировки.

Коротко:

  • Установите FREB на приставку (это функция «Отслеживание» в Health and Diagnostics

    • IIS 7: если вы не видите значок (Правила отслеживания неудачных запросов) и вы являетесь администратором сервера, значит, он не установлен в коробке
  • Включите FREB для интересующего вас сайта (на уровне сайта на панели действий - см. Также http://technet.microsoft.com/en-us/library/cc725786(v=WS.10).aspx)

  • Создайте правило отслеживания невыполненных запросов, которое нацелено на 200 ответов (или только 100-599) на вашем веб-сайте, сделайте несколько запросов для создания журналов, а затем посмотрите на свою папку трассировки c: \ inetpub \ logs \ failed request. Дважды щелкните XML-файл, затем перебирайте представления, пока не найдете то, что вам нравится!