Как заставить Elmah работать с ASP.NET и IIS 5.1 URL Routing - PullRequest
14 голосов
/ 11 июня 2009

У меня проблемы с запуском приложения 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 Ответ

12 голосов
/ 11 июня 2009

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

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