我即将开始一个项目,我们有一个后端服务来进行冗长的处理,以便我们的 ASP.NET 网站可以自由地执行更快的请求。因此,我一直在阅读 WCF 和 Web API 等服务,以了解它们的功能。由于这个后端服务实际上将由多个相互通信的服务组成,并且不会对我们的客户公开可用,因此 WCF 似乎是这种场景的理想技术。
但是在做了很多研究之后,我仍然对 WCF 和 Web API 之间的好处和区别感到困惑。总的来说,似乎:
- 如果您想要一个公共和/或 RESTful API,那么 Web API 是最好的
- WCF 可以支持比 HTTP 更多的传输,因此您可以对它们进行更多控制
- 由于 WCF 的附加功能/复杂性,Web API 开发似乎比 WCF 更容易
但也许我的问题归结为以下几点:
- 为什么 REST 服务会更有益呢?一个完整的 WCF 服务对于公共 API 来说会是一个好主意吗?还是 WCF 服务可以提供 Web API 无法提供的任何东西?
- 相反,如果我有许多需要相互通信的内部服务,并且很乐意只使用 HTTP 作为传输,那么 Web API 会突然成为一个可行的选择吗?