首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >asp.net mvc将控制器放入一个单独的项目中。

asp.net mvc将控制器放入一个单独的项目中。
EN

Stack Overflow用户
提问于 2008-12-30 20:19:35
回答 3查看 62.9K关注 0票数 107

我正在学习asp.net mvc,我正在尝试弄清楚如何将我的控制器移到一个单独的项目中。通常,当我以前设计asp.net web应用程序时,我为我的模型创建了一个项目,为我的逻辑创建了另一个项目,然后是web。

现在我正在学习css,我希望遵循类似的模式,将模型和控制器分别放入各自独立的项目中,只需将视图/脚本/ asp.net留在web中即可。模型部分很简单,但我不明白的是如何让我的控制器在一个单独的项目中被“找到”。另外,我想知道这是否可取。谢谢!

EN

回答 3

Stack Overflow用户

发布于 2013-02-14 07:34:57

虽然创建自己的ControllerFactory是合理的,但我发现在每个项目中定义我的所有控制器更方便,但从共享项目中的控制器派生它们:

代码语言:javascript
复制
namespace MyProject1.Controllers
{
   public class MyController : MySharedProject.Controllers.MyController
   {
      // nothing much to do here...
   }
}

namespace MySharedProject.Controllers
{
   public abstract class MyController : System.Web.Mvc.Controller
   {
      // all (or most) of my controller logic here...
   }
}

这有一个额外的好处,那就是您有一个地方来放置不同项目之间不同的控制器逻辑。此外,其他开发人员更容易快速找到您的控制器逻辑,因为控制器存在于标准位置。

至于这是否可取,我认为是绝对可取的。我已经创建了一些通用的帐户管理逻辑,我希望在其他具有非常不同业务逻辑的项目之间共享这些逻辑。因此,我共享了我的帐户和管理员控制器,但其他控制器是特定于它们各自的项目的。

票数 19
EN

Stack Overflow用户

发布于 2018-07-09 16:16:41

在我更新了System.Web.Mvc NuGet参考,以便MvcWebsite和类库使用相同的System.Web.Mvc版本后,我的问题得到了解决

不需要添加默认名称空间

票数 3
EN

Stack Overflow用户

发布于 2013-11-26 13:52:15

我使用的最简单的分离形式是保留原始MVC项目中的“原样”视图,但删除控制器。然后,在一个新的ClassLibrary项目中添加控制器类,并确保它们继承自控制器。

MVC路由引擎将自动路由到ClassLibrary中的控制器,并且控制器将自动构造来自原始MVC项目的视图,前提是您的引用和使用都正确到位。

我正在使用此体系结构实现一个Html报告模块,该模块可以独立于主解决方案进行编译和部署。我终于从SSRS中解脱出来了!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/401376

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档