我有以下路线配置:
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 }
);
当我导航到Elmah.axd时,正在调用“404”控制器。为什么呢?
答案 0 :(得分:3)
在你的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" />
我肯定会尝试另外一件事,我觉得很惭愧地说“你有没有试过清理你的缓存!”因为这个人在使用chrome时咬了我一次