差异摘要WCF和Web API

Rob*_*Rob 2 c# asp.net wcf asp.net-web-api

我正在寻找ASP.NET MVC Web APIWCF服务之间的区别摘要

我已经看到了这个问题,Asp.Net Web API和WCF服务之间有什么区别?WCF和ASP.NET Web API也是 这个问题,但是他们没有总结我可以用一个实现的东西,我不能用另一个实现的东西。

  • 两者都可以通过url进行联系,我首先认为这是它们之间的区别。

简而言之: 我可以使用WCF做什么,而不能使用ASP.NET Web API做什么,反之亦然?

Raj*_*dar 5

此列表绝不是详尽无遗的。

WCF所做的事情是使用Web API无法轻松完成的。

  1. 支持基于SOAP的XML格式。
  2. 支持强类型数据合同。
  3. 支持使用WSDL等进行单点元数据信息交换。
  4. 支持各种绑定,例如TCP,命名管道,MSMQ甚至UDP等。
  5. 支持各种托管选项,例如控制台应用程序,WAS,IIS,Windows服务。
  6. 支持开箱即用的消息传递,双工,消息队列的一种方式。
  7. 支持多种身份验证方案,例如Windows,表单,证书等。

使用WCF无法(轻松)完成的事情Web API。

  1. 支持HTTP的全部功能。(基于Uri的访问,Http请求/响应,Http缓存等。)要在WCF中执行此操作,您需要进行其他工作才能将其配置为REST服务等。
  2. 轻巧,配置最少。
  3. 支持路由,控制器/动作MVC范例,模型绑定等。

基本上,Web API是在不了解Web服务的情况下通过Http进行RESTful服务的简单方法。

要在WCF中执行相同的操作,您需要在httpBindings,UriTemplates,Verbs等方面进行其他工作。这意味着,首先要了解WCF。然后使用WCF通过http实现RESTFul服务,这是Web Api开箱即用的功能。