我的 mvc 4 应用程序为 3 个不同的子应用程序公开了一个 API 层。我为所有三个子应用程序使用单个 api 控制器。所有这三个应用程序都使用父应用程序数据库。
我想知道我是否做错了什么。此外,随着应用程序的开发,api 控制器变得越来越重。有什么好的方法可以管理父应用项目中的子应用吗?
我的 mvc 4 应用程序为 3 个不同的子应用程序公开了一个 API 层。我为所有三个子应用程序使用单个 api 控制器。所有这三个应用程序都使用父应用程序数据库。
我想知道我是否做错了什么。此外,随着应用程序的开发,api 控制器变得越来越重。有什么好的方法可以管理父应用项目中的子应用吗?
您可以使用区域来管理父应用中的子应用。请按照以下问题中回答的步骤在您的项目中创建区域
为了处理对区域的 Api 请求,您需要在区域注册中有两条路由。
public override void RegisterArea(AreaRegistrationContext context)
{
context.Routes.MapHttpRoute(
name: "Area_Name_Api",
routeTemplate: "Area_Name/api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
context.MapRoute(
"Area_Name_default",
"Area_Name/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
第一条路线用于到达该区域的 api 控制器,第二条路线用于常规路线。
http://blogs.infosupport.com/asp-net-mvc-4-rc-getting-webapi-and-areas-to-play-nicely/
上面的链接对此进行了更多解释。
通过这种方式,您可以分离您的子应用程序并在父项目中组织您的功能、模型视图(如果有)。
您可以在不同的 web api 控制器下处理子应用程序。