【问题标题】:mvc 4 web api for multiple applications用于多个应用程序的 mvc 4 web api
【发布时间】:2013-03-19 23:24:35
【问题描述】:

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

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

【问题讨论】:

  • 您能否就您的问题提供更多背景信息?可以为您的 API 设置一个入口点,但我会在不同的控制器上划分方法

标签: asp.net-mvc asp.net-mvc-4 asp.net-web-api


【解决方案1】:

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

How to Configure Areas in 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/

以上链接对此进行了详细说明。

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多