Как заставить Elmah работать с URL-адресами ASP.NET и IIS 5.1

У меня возникают проблемы с запуском моего приложения ASP.NET MVC через локальный веб-сервер IIS 5.1. Я считаю, что эти проблемы связаны с IgnoreRoutes, но я не могу создать IgnoreRoute, чтобы решить эту проблему.

Проблема:

Я могу просмотреть страницу ошибки elmah (localhost/mvcapplication1/elmah.axd), однако CSS отсутствует, и ни одна из ссылок не работает.

Шаги по воспроизведению

1) Создайте приложение ASP.NET MVC 1.0

2) Добавьте Эльму. Загрузите сборки, добавьте их в свой проект и выполните шаги из Инструкции по установке Elmah

3) Переключите приложение на "Использовать локальный веб-сервер IIS" на странице свойств → Веб

4) Добавьте сопоставление подстановочных знаков. То есть, откройте IIS, перейдите в свойства → Виртуальный каталог → Конфигурация → Добавить: Исполняемый файл: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll Расширение:. * Предел до: GET, HEAD, POST, DEBUG Снимите флажок "Проверить, существует ли файл".

5) Убедитесь, что routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); существует в RegisterRoutes вашего Global.aspx. Кстати, я также пробовал routes.IgnoreRoute("elmah.axd");

Теперь запустите приложение и поднимите localhost/mvcapplication1/elmah.axd.

Нет CSS и ссылок.

Если я удалю сопоставление подстановочных знаков, все будет хорошо, но тогда маршрутизация URL-адреса приложения больше не работает. Я это понимаю, но я мог бы подтянуть elmah.axd с помощью правильной схемы IgnoreRoute.

Мысли??

Ответы

Ответ 1

Добавить модуль FixIIS5xWildcardMapping в ваш web.config:

<httpModules>
    <add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
</httpModules>