将控制器拆分为2个独立的DLL

时间:2014-03-12 10:21:09

标签: c# asp.net-mvc-4 assemblies controllers

我有一个想法,我想实现它主要涉及将MVC4项目中的控制器分离到2个不同的项目。原因是我希望能够为我的网站的内部管理部分和外部客户端部分使用不同的控制器。我想单独更改它们中的每一个,并在我进行更改时向网站添加一个新的DLL ...对站点内部管理部分的更改因此不会影响外部客户端部分的控制器DLL,例如

有谁知道这是可行的/可取的还是更好的方法来实现我想要实现的目标?

1 个答案:

答案 0 :(得分:4)

取自artical: " MVC框架提供了一个默认的控制器工厂(恰当地命名为DefaultControllerFactory),它将搜索appdomain中的所有程序集,查找实现IController的所有类型,其名称以" Controller结尾。"因此,如果你告诉工厂寻找一个" Home"对于控制器,工厂可以返回一个新实例化的HomeController类实例,无论它存在于哪个命名空间或程序集中 - 只要它实现了IController ...."

通过在您的解决方案中添加对另一个项目的引用,您可以实现您正在寻找的内容,在该引用的项目中添加您的控制器。如上所述,MVC Routing将找到该解决方案中引用的所有控制器。