【发布时间】:2011-07-13 11:37:35
【问题描述】:
我将其作为我的 DefaultControllerFactory 覆盖:
public class StructureMapControllerFactory : DefaultControllerFactory
{
protected override IController GetControllerInstance(System.Web.Routing.RequestContext requestContext, System.Type controllerType)
{
if (controllerType == null) return base.GetControllerInstance(requestContext, controllerType);
return (IController)ObjectFactory.GetInstance(controllerType);
}
}
我的 Global.asax 看起来像这样:
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.IgnoreRoute("favicon.ico");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
routes.MapRoute(
"404-PageNotFound",
"{*url}",
new { controller = "ErrorController", action = "PageNotFound" }
);
}
当我转到 mydomain.com/asd/asd/asd/asd/asd/asd 时,它会引发 404 异常,然后查看 web.config 中的 customErrors 节点以决定要做什么。
我不确定这是否正确,因为我原以为我的路线会处理这个问题,而不是 customErrors。
【问题讨论】:
标签: .net asp.net-mvc asp.net-mvc-3 routing structuremap