5

我的 mvc 4 应用程序为 3 个不同的子应用程序公开了一个 API 层。我为所有三个子应用程序使用单个 api 控制器。所有这三个应用程序都使用父应用程序数据库。

我想知道我是否做错了什么。此外,随着应用程序的开发,api 控制器变得越来越重。有什么好的方法可以管理父应用项目中的子应用吗?

4

2 回答 2

5

您可以使用区域来管理父应用中的子应用。请按照以下问题中回答的步骤在您的项目中创建区域

如何在 ASP.NET MVC3 中配置区域

为了处理对区域的 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/

上面的链接对此进行了更多解释。

通过这种方式,您可以分离您的子应用程序并在父项目中组织您的功能、模型视图(如果有)。

于 2013-03-19T07:16:00.483 回答
4

您可以在不同的 web api 控制器下处理子应用程序。

于 2013-03-19T15:24:35.967 回答