web-services - 服务层和 Web API 服务层?

标签 web-services design-patterns asp.net-web-api restful-architecture

我有一个应用程序,其中包含用于数据访问、业务和 wcf 服务的层。我需要将此 WCF 层转换为 Web API,并且我是否应该:

1)创建两个服务层/项目:
- 服务(类库)
- Services.Api(WebAPI 公开和包装对服务类库的调用)

2) 或者,只创建一个 WebAPI 项目。

我想我在 #2 中看到的问题是它限制了我重用库的方式 - 我只能使用 REST 使用服务。使用 #1,我可以根据需要在我的 Web Controller 和客户端/ajax 上的 WebAPI 内部需要时使用类库。我在 #1 中看到的问题是重复调用服务层类库所需的所有额外代码。

希望这是有道理的。请让我知道您对什么是我可以遵循的好方法和实践的想法,或者因为我缺乏理解而对我大喊大叫。谢谢

最佳答案

如果你有一个很好的业务层,它本身应该是你的服务(类库)层。在您的业务/服务层之上,应该是您的前端层,可以是 Wcf、Api 或 Mvc。

ProjectName
 -ProjectName.Core (All poco classes and interfaces)
 -ProjectName.Data (All entity framework stuff)
 -ProjectName.Service (All business logic)
 -ProjectName.Web (All font end logic)

关于web-services - 服务层和 Web API 服务层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21291655/

相关文章:

java - 如何使用java使用webservice上传多个文件?

java - wsimport -extension 相当于 Apache CFX 命令?

asp.net - 性能缓慢 Azure 'Web App' + Azure SQL DB

java - 构造不可变对象(immutable对象)的抽象生成器

PHP:正确使用单例模式?

asp.net - 为什么一个新的 MVC4 项目会默认映射一个 WebApi 路由?

c# - Web API 操作返回类型最佳实践

java - 为什么由于安全限制,我的 Java/SalesForce 应用程序无法创建 JAXBContext?

c# - 如何将非表数据导入 SQL Server Reporting Services?

php - 这就是工厂模式的工作原理吗?