我已经使用域驱动设计设计了我的 ASP.NET MVC 应用程序,并且我得到了以下项目:
- MyApp.Core - 应用程序核心,包含领域模型等。
- MyApp.Infrastructure - 应用程序主要基础设施,包含使用 EF 进行域模型存储(repos 等)的实现。
- MyApp.Web.Core - 域模型、服务声明(接口)等仅适用于 Web(例如 IFormAuthenticationTicketSupplier、IOAuthAuthenticationProvider 等)
- MyApp.Web.Infrastructure - Web 实现
- MyApp.Web.UI - ASP.NET MVC 标准应用程序。
该应用程序应该由具有多个服务器的企业使用等。目前,该应用程序在控制器的基础设施层调用一个服务,该服务使用Repositories和EF。我可以使用连接字符串连接到数据库服务器。
在 Google 研究这个主题时,我读到创建企业应用程序时采用的一些方法是创建应用程序服务器和 Web 服务器。在应用程序服务器中 - 存储 WCF 服务,而在 Web 服务器中只是调用它。
我想知道我是否应该这样做(如果在与企业打交道时创建 WCF 服务是正确且必需的方法): - 为什么有人不应该只使用控制器中的服务而是使用 API?- 如果我使用 API,它不会减慢响应速度吗?因为即使计算机在同一个网络上,我仍然会打开一个 HTTP 请求。- 如果我应该使用 WCF 或 ASP.NET WebAPI?
感谢您的任何反馈和帮助!