Elmah.axd с Catch-all маршрутом - PullRequest
1 голос
/ 26 января 2011

У меня есть следующие конфигурации маршрута:

routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("elmah.axd");
routes.IgnoreRoute("favicon.ico");

routes.MapRoutes(); // Register Attribute Based Routes which the current assembly contains

routes.MapRoute(
    "404",
    "{*url}",
    new { controller = MVC.Error.Name, action = "CatchAllUnmappedRoutes", id = UrlParameter.Optional }
);
routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = MVC.Student.Name, action = "Index", id = UrlParameter.Optional }
);

Контроллер "404" вызывается, когда я перехожу на Elmah.axd. Почему?

1 Ответ

3 голосов
/ 26 января 2011

В вашем web.config у вас включен этот allowRemoteAccess?

 <elmah>
  <security allowRemoteAccess="1" />
 </elmah>

, и это внутри группы разделов

    <sectionGroup name="elmah">
    <section name="security" requirePermission="false" 
type="Elmah.SecuritySectionHandler, Elmah" />

также проверьте, что этот обработчик определен

    <add name="Elmah" verb="POST,GET,HEAD" path="elmah.axd" 
preCondition="integratedMode" type="Elmah.ErrorLogPageFactory, Elmah" />

или эта, в зависимости от того, какую версию IIS вы используете

    <add verb="POST,GET,HEAD" path="elmah.axd" 
type="Elmah.ErrorLogPageFactory, Elmah" />

Еще одна вещь, которую я обязательно попробую, и мне стыдно сказать: «Вы пытались очистить свой кеш!»как этот укусил меня однажды во время использования хрома

...