Как заставить Elmah работать с ASP.NET и маршрутизацией URL-адресов IIS 5.1
-
13-09-2019 - |
Вопрос
У меня возникли проблемы с запуском приложения 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.
Мысли??
Решение
Добавьте модуль FixIIS5xWildcardMapping в свой web.config:
<httpModules>
<add name="FixIIS5xWildcardMapping" type="Elmah.FixIIS5xWildcardMappingModule, Elmah"/>
</httpModules>