使用MVC3应用程序调用其他MVC应用程序

本文关键字:应用程序 MVC 其他 调用 使用 MVC3 | 更新日期: 2023-09-27 18:29:40

实际上我有一些MVC3应用程序,我想从主MVC3应用软件调用这些应用程序。例如,从基本MVC3应用程序调用特定控制器中的操作。

有这样做的想法吗?

使用MVC3应用程序调用其他MVC应用程序

您可以使用区域将一个大站点构建成更小的块。

来自MSDN:

MVC模式分离应用程序的模型(数据)逻辑从其表示逻辑和业务逻辑。在ASP.NET MVC中逻辑分离也在项目中物理实现结构,其中控制器和视图保存在使用定义关系的命名约定。此结构支持大多数Web应用程序的需求。

然而,一些应用程序可能具有大量控制器,并且每个控制器可以与若干视图相关联。对于这些类型对于应用程序,默认的ASP.NET MVC项目结构可以变成笨手笨脚的

为了适应大型项目,ASP.NET MVC允许您对Web进行分区应用程序划分为称为区域的较小单元。区域提供了一种将大型MVC Web应用程序拆分为较小应用程序的方法功能分组。区域实际上是内部的MVC结构应用程序。一个应用程序可以包含几个MVC结构(区域)。

例如,单个大型电子商务应用程序可能会被分割进入代表店面、产品评论、用户的区域账户管理和采购系统。每个区域表示整个应用程序的单独功能。

来源:http://msdn.microsoft.com/en-us/library/ee671793.aspx

在Visual Studio中,只需右键单击项目并说"添加区域"即可添加新区域。

如果你需要从你的视图中引用另一个区域,你只需在路线值集合中添加一个"区域"参数:

@Html.ActionLink("[LinkText]", "[ActionName]", "[ControllerName]", new { area = "[AreaName]" }, null);

控制器只是类,因此您应该能够实例化它们并调用它们的操作,就好像它们是应用程序层的一部分一样。

另一个想法是,如果您处于开发的早期阶段,可以考虑研究MVC4的WebAPI。如果您可以将子应用程序的控制器转换为ApiControllers,那么您就可以启动主应用程序可以调用的服务层。