Webservce、WCF、WebApi的区别

Web Service

  1. It is based on SOAP and return data in XML form.
  2. It support only HTTP protocol.
  3. It is not open source but can be consumed by any client that understands xml.
  4. It can be hosted only on IIS.

WCF

  1. It is also based on SOAP and return data in XML form.
  2. It is the evolution of the web service(ASMX) and support various protocols like TCP, HTTP, HTTPS, Named Pipes, MSMQ.
  3. The main issue with WCF is, its tedious and extensive configuration.
  4. It is not open source but can be consumed by any client that understands xml.
  5. It can be hosted with in the applicaion or on IIS or using window service.

WCF Rest

  1. To use WCF as WCF Rest service you have to enable webHttpBindings.
  2. It support HTTP GET and POST verbs by [WebGet] and [WebInvoke] attributes respectively.
  3. To enable other HTTP verbs you have to do some configuration in IIS to accept request of that particular verb on .svc files
  4. Passing data through parameters using a WebGet needs configuration. The UriTemplate must be specified
  5. It support XML, JSON and ATOM data format.

Web API

  1. This is the new framework for building HTTP services with easy and simple way.
  2. Web API is open source an ideal platform for building REST-ful services over the .NET Framework.
  3. Unlike WCF Rest service, it use the full featues of HTTP (like URIs, request/response headers, caching, versioning, various content formats)
  4. It also supports the MVC features such as routing, controllers, action results, filter, model binders, IOC container or dependency injection, unit testing that makes it more simple and robust.
  5. It can be hosted with in the application or on IIS.
  6. It is light weight architecture and good for devices which have limited bandwidth like smart phones.
  7. Responses are formatted by Web API’s MediaTypeFormatter into JSON, XML or whatever format you want to add as a MediaTypeFormatter.

To whom choose between WCF or WEB API

  1. Choose WCF when you want to create a service that should support special scenarios such as one way messaging, message queues, duplex communication etc.
  2. Choose WCF when you want to create a service that can use fast transport channels when available, such as TCP, Named Pipes, or maybe even UDP (in WCF 4.5), and you also want to support HTTP when all other transport channels are unavailable.
  3. Choose Web API when you want to create a resource-oriented services over HTTP that can use the full features of HTTP (like URIs, request/response headers, caching, versioning, various content formats).
  4. Choose Web API when you want to expose your service to a broad range of clients including browsers, mobiles, iphone and tablets.

转载:http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-REST-and-Web-Service.html

时间: 2024-10-09 10:34:59

Webservce、WCF、WebApi的区别的相关文章

微软ASP.NET 电商网站开发实战 MVC6 +HTML5 +WCF+WebAPI+NoSQL+mongoDB+Redis+Core视频 代码 面试题

<微软ASP.NET 电商网站开发实战 MVC6 +HTML5 +WCF+WebAPI+NoSQL+mongoDB+Redis+Core 视频 代码 面试题 >下载网盘:https://yunpan.cn/cP7SNIjgJYYjA  访问密码 7fc6 微软特邀讲师 徐雷FrankXuLei 2016 授课 更新:.NET Core 1.0高并发框架+面试题更新:高性能缓存 Redis.NoSQL面试题 安装,增删改查 RedisHelper帮助类 购物车 会话服务器更新:REST WebA

WebService和Webapi的区别

下面的句子 是直接百度翻译出来的,对于英文好的朋友可点击下面网址 http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-and-WCF-REST-and-Web-Service.html WebService特点 它是基于SOAP格式的肥皂和返回数据. 它只支持HTTP协议. 它不是开源的,但是可以被任何理解的客户所消耗. 它可以承载在IIS. WebAPI特点 这是用

MVC和WebApi的区别:

1.mvc 和WebApi: 区别: a.MVC是建立网站的一种框架,倾向于返回用户的页面请求:webApi倾向于返回用户数据请求 b.mvc直接继承system.mvc.controller:webapi继承的是system.web.http.ApiController c.mvc只能部署在iis上:webapi可以寄宿在不同的宿主上,如:Web Host.Self Host方式 d.接收参数方式不一样, e.mvc可以返回JsonResult,前端可以直接用:webapi要返回json数据,

关于WEB Service&amp;WCF&amp;WebApi实现身份验证之WCF篇(1)

WCF身份验证一般常见的方式有:自定义用户名及密码验证.X509证书验证.ASP.NET成员资格(membership)验证.SOAP Header验证.Windows集成验证.WCF身份验证服务(AuthenticationService),这些验证方式其实网上都有相关的介绍文章,我这里算是一个总结吧,顺便对于一些注意细节进行说明,以便大家能更好的掌握这些知识. 第一种:自定义用户名及密码验证(需要借助X509证书) 由于该验证需要借助于X509证书,所以我们需要先创建一个证书,可以利用MS自

Asp.Net Core WebAPI入门整理(一)

一.Asp.Net Core  WebAPI 1.目前版本是v1.1 2.默认路由处理和Asp.Net WebAPI有些 区别了,现在使用的是控制器路由[Route("api/Menu")]和请求方式路由[HttpGet].[HttpGet("{id}")]结合的 方式.直接在控制器和Action上使用方法注释. 3.从项目结构依赖上看 Asp.Net Core MVC项目其实已经包含了WebAPI 二.使用Visual Studio 2017创建Asp.Net C

WebApi路由机制详解

随着前后端分离的大热,WebApi在项目中的作用也是越来越重要,由于公司的原因我之前一直没有机会参与前后端分离的项目,但WebApi还是要学的呀,因为这东西确实很有用,可单独部署.与前端和App交互都很方便,既然有良好的发展趋势,我们当然应该顺势而为——搞懂WebApi! 从MVC到WebApi,路由机制一直都在其中扮演着重要的角色. 它可以很简单:如果你只需要会用一些简单的路由,如/Home/Index那么你只需要配置一个默认路由就能搞定. 它可以很神秘:你的url可以千变万化,看到一些“无厘

asp.net core的基本部署

随着.net core正式版的推出,我也准备开始使用这种微软有史以来第一次跨平台的技术(本人从来不学也不看beta版的技术),使用VS2017新建一个.net core的web应用程序 这里随便选什么都可以,其实创建出来的都一样,在core中,MVC和WebApi的管道已经统一,所以在类库中已经不会再出现API字眼(虽然实际上,现在MVC早已没人用了)的类了, 建完以后,大概长这样 忽略host.json,那个是我自己加的,打开program,可以发现,web应用程序本质上就是一个控制台程序,

[AaronYang]C#人爱知不知[1]

当前编写时间:2014年12月24日21:11:14   编写人:杨洋(Aaronyang) 声明:->可以理解为 联想到,或者关联的意思. 1知识和引入 COM 组件对象模型- Component Object Model 托管代码可以调用COM组件 OLE 对象链接或者嵌入-Object Linking and Embedding 案例:例如把 Excel电子表格放到Word文档中 =>COM->DCOM (Distributed COM) ->COM+(更复杂,几乎所有组件通

.NET Remoting学习笔记(一)

背景 自接触编程以来,一直听过这个名词Remoting,但是对他了解少之又少,近日有点时间,参考研究研究. 其相关概念本章不做详解,具体大家可以看下  http://baike.baidu.com/view/742675.htm?fr=aladdin  ,写的很详细. .Net Remoting概念 概念:一种分布式处理方式.从微软的产品角度来看,可以说Remoting就是DCOM (分布式组件对象模式)的一种升级,它改善了很多功能,并极好的融合到.Net平台下. 好处: 1.提供了一种允许对象