Controller in separate assembly and routing

前端 未结 2 1004
隐瞒了意图╮
隐瞒了意图╮ 2020-12-13 12:44

In the same solution, there is a ASP.NET MVC4 application Slick.App and class library Awesome.Mvc.Lib. Awesome.Mvc.Lib contains one controller clas

2条回答
  •  眼角桃花
    2020-12-13 13:21

    The namespaces list on the route only gives priority to certain namespaces over the others, which are not listed :

    new [] {"Namespace1", "Namespace2"}
    

    doesn't give higher priority to Namespace1 as one would expect but just gives priority to both namespaces over the others.

    This means that the namespaces in the list are first searched for controllers and then, if no match is found the rest of the available controllers with that name are used.

    You can suppress the use of non prioritized controllers by doing this:

    var myRoute  = routes.MapRoute(
            name: "Default",
            url: "{controller}/{action}/{id}",
            defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional },
            namespaces: new [] { "Slick.App.Controllers" }
        );
    
    myRoute.DataTokens["UseNamespaceFallback"] = false;
    

提交回复
热议问题