【问题标题】:Split controllers into 2 separate DLLs将控制器拆分为 2 个独立的 DLL
【发布时间】:2014-03-12 10:21:08
【问题描述】:

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

有谁知道这是否可行/可取,或者是否有更好的方法来完成我想要实现的目标?

【问题讨论】:

  • 您能提供更多细节吗?所以你有一个站点区域,可以由两个控制器访问?
  • 通过在您的解决方案中添加对另一个项目的引用,您可以实现您正在寻找的内容,在该引用的项目中添加您的控制器。这是完全可行的..
  • 嗨小故障...基本上我想我会有通常的网站项目,内部管理部分的不同项目中的一组控制器,以及另一个不同项目中的一组控制器网站的外部客户部分。我设想所有视图仍将保留在网站项目中,但我准备对此进行更正。希望这更清楚。

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


【解决方案1】:

取自 artical : “MVC 框架提供了一个默认控制器工厂(恰当地命名为 DefaultControllerFactory),它将搜索应用程序域中的所有程序集,以查找所有实现 IController 并且名称以“Controller”结尾的类型。因此,如果您告诉工厂查找一个“Home”控制器,工厂可以返回一个新实例化的 HomeController 类实例,而不管它所在的命名空间或程序集——只要它实现 IController....”

通过在您的解决方案中添加对另一个项目的引用,您可以实现您正在寻找的内容,在该引用的项目中添加您的控制器。就像上面写的那样,MVC 路由将找到该解决方案中引用的所有控制器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 2011-11-07
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多