Pet*_*nks 9 .net asp.net rest wcf asp.net-web-api
我即将开始一个项目,我们有一个后端服务来进行冗长的处理,以便我们的ASP.NET网站可以自由地做更快的请求.因此,我一直在阅读WCF和Web API等服务,以了解他们的工作.由于这种后端服务实际上将由几个彼此通信的服务组成,并且不会公开给我们的客户,因此WCF似乎是这种情况的理想技术.
但经过大量的研究后,我仍然对WCF和Web API之间的好处和差异感到困惑.一般来说,似乎:
但也许我的问题归结为以下几点:
Jup*_*aol 10
我回答了几个相关的问题:
作为额外资源,我建议您阅读:
http://www.codeproject.com/Articles/341414/WCF-or-ASP-NET-Web-APIs-My-two-cents-on-the-subjec
如果您想了解有关REST的更多信息,请查看Martin Fowler的这篇文章
总结一下:
据我所知,这两种技术都是由Microsoft的同一团队开发的,WCF不会停产,它仍然是一个选项(例如,如果你想提高服务的性能,你可以公开它们)通过TCP或命名管道).未来显然是Web API
WCF用于处理SOAP
Web API构建为使用HTTP
为了做出正确的选择:
- 如果您打算创建支持特殊方案的服务 - 单向消息传递,消息队列,双工通信等,那么您最好选择WCF
- 如果您想创建可用的快速传输通道的服务,例如TCP,命名管道,甚至UDP(在WCF 4.5中),并且您还希望在所有其他传输不可用时支持HTTP,那么您就是最好使用WCF并使用基于SOAP的绑定和WebHttp绑定.
- 如果您想通过HTTP创建面向资源的服务,可以使用HTTP的全部功能 - 使用ETag定义浏览器的缓存控制,版本控制和并发,传递各种内容类型,如图像,文档,HTML页面等,使用URI模板要在您的回复中包含任务URI,那么新的Web API是您的最佳选择.
- 如果你想创建一个多目标服务,既可以用作HTTP上面向资源的服务,也可以用作TCP上的RPC式SOAP服务 - 请先与我联系,我会给你一些指示.