【发布时间】:2020-01-19 07:52:44
【问题描述】:
我们有一个活跃的、完全开发的 ASP.NET Web 应用程序,它允许用户为各种屏幕/模块创建/更新数据。
现在,需要构建一个 Web API 来自动为特定模块创建数据。
此 API 将从源系统接收数据并将发布的数据保存到我们的应用程序数据库 (最终去掉前端创建选项)
Web 解决方案在解决方案中包含自己的业务和数据层,我们正在寻找重用这些层的方法 在 API 中也是如此。
我能想到的一种方法是将业务层称为 Web API 中的 dll,但这会 提供对 BL 中目前不需要的其他类和方法的访问
谁能建议正确的方法是什么?
【问题讨论】:
-
您可以在解决方案本身中创建一个新的Web API项目,并在其中添加对
Business和Data Access层的项目引用。 -
当您引用任何 DLL 或项目时,您可以访问所有公开可用的类型。由您决定哪些应该使用,哪些不应该使用。您可以做的另一件事是创建完整的新类库,它将仅公开某些想要在 Web API 中使用的类。
-
为 WebAPI 创建单独的项目,一个用于 BLL (BusinessLogic) 和 DAL 的类库项目。然后在 WebAPI 项目中添加 BLL 的引用,在 BLL 中添加 DAL 引用。
标签: c# asp.net asp.net-web-api architecture