【问题标题】:Web API 2 project with numerous controllers?具有众多控制器的 Web API 2 项目?
【发布时间】:2016-02-26 19:45:44
【问题描述】:

从维护和部署的角度来看,一个 Web API 2 项目有很多(30 多个)控制器,或者 30 多个微 Web API 2 项目每个有一个控制器是否有意义?

我开始将它们全部放在一个项目中,其结构如下所示:

Comapany.Project.Api(解决方案)

  • 帐户控制器
  • 订单控制器
  • 库存控制器
  • //这里还有很多
  • 地址控制器

我开始认为这在部署时会出现问题,因为我们只是使用文件系统发布,它会在发布之前删除所有文件。如果我对 orderController 进行更改并且必须在白天部署到生产环境,我将关闭许多其他服务。

我即将把我的项目结构改造成这样的:

Company.Project(解决方案)

  • Company.Project.AccountApi
  • 公司.Project.OrderApi
  • Company.Project.InventoryApi
  • //这里还有很多
  • Company.Project.AddressApi

那我就有一个

  • Company.Project.Core

这个核心项目将包含一些共享代码,如扩展方法、自定义异常、actionFilters 等。

我知道这个问题的答案可能非常主观。但是,我正在寻找具体的理由来选择一种解决方案结构而不是另一种。谢谢

【问题讨论】:

    标签: asp.net-web-api2 projects-and-solutions


    【解决方案1】:

    我坚持在一个项目中使用所有控制器。我也倾向于在每个域/层/无论您做什么都使用单个 Web API 控制器,以便在逻辑上将您的应用程序分解为更易于管理的部分,从而减少控制器的数量。

    我在GitHub Wiki 上记录了我的实践。

    【讨论】:

      猜你喜欢
      • 2015-03-27
      • 2019-01-06
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 2015-08-10
      • 1970-01-01
      相关资源
      最近更新 更多