我正在寻找ASP.NET MVC Web API和WCF服务之间的区别摘要。
我已经看到了这个问题,Asp.Net Web API和WCF服务之间有什么区别?WCF和ASP.NET Web API也是 这个问题,但是他们没有总结我可以用一个实现的东西,我不能用另一个实现的东西。
两者都可以通过url进行联系,我首先认为这是它们之间的区别。
简而言之: 我可以使用WCF做什么,而不能使用ASP.NET Web API做什么,反之亦然?
此列表绝不是详尽无遗的。
WCF所做的事情是使用Web API无法轻松完成的。
支持基于SOAP的XML格式。
支持强类型数据合同。
支持使用WSDL等进行单点元数据信息交换。
支持各种绑定,例如TCP,命名管道,MSMQ甚至UDP等。
支持各种托管选项,例如控制台应用程序,WAS,IIS,Windows服务。
支持开箱即用的消息传递,双工,消息队列的一种方式。
支持多种身份验证方案,例如Windows,表单,证书等。
使用WCF无法(轻松)完成的事情Web API。
支持HTTP的全部功能。(基于Uri的访问,Http请求/响应,Http缓存等。)要在WCF中执行此操作,您需要进行其他工作才能将其配置为REST服务等。
轻巧,配置最少。
支持路由,控制器/动作MVC范例,模型绑定等。
基本上,Web API是在不了解Web服务的情况下通过Http进行RESTful服务的简单方法。
要在WCF中执行相同的操作,您需要在httpBindings,UriTemplates,Verbs等方面进行其他工作。这意味着,首先要了解WCF。然后使用WCF通过http实现RESTFul服务,这是Web Api开箱即用的功能。