MVC 3: May I place the controllers in a dll?
It really doe开发者_StackOverflowsn't matter, but there's a reason why I want the controllers in a DLL file.
May I do that in an MVC project?
create a mvc project MvcApplication1.
create a mvc project MvcApplication2 and delete everything in it.
add reference to MvcApplication2 in MvcApplication1
create a HomeController inside MvcApplication2
create a view inside MvcApplication1
that's it.
Make sure to modify the routes in global.asax, like this:
public static void RegisterRoutes(RouteCollection routes) {
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Home",
action = "Index",
id = UrlParameter.Optional
},
namespaces: new[] {
typeof(HomeController).Namespace
}
);
}
Notice the additional namespaces argument to the MapRoute method.
Yes.
You don't have to do anything special.
精彩评论