关于WCF、WebAPI、WCFREST、WebService之间的区别总结
在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API。在.net平台下,你有很多的选择来构建一个HTTP Services。我分享一下我对Web Service、WCF以及Web API的看法。
一、Web Service
1、它是基于SOAP协议的,数据格式是XML
2、只支持HTTP协议
3、它不是开源的,但可以被任意一个了解XML的人使用
4、它只能部署在IIS上
二、WCF
1、这个也是基于SOAP的,数据格式是XML
2、这个是Web Service(ASMX)的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.
3、WCF的主要问题是,它配置起来特别的繁琐
4、它不是开源的,但可以被任意一个了解XML的人使用
5、它可以部署应用程序中或者IIS上或者Windows服务中
三、WCF Rest
1、想使用WCF Rest service,你必须在WCF中使用webHttpBindings
2、它分别用[WebGet]和[WebInvoke]属性,实现了HTTP的GET和POST动词
3、要想使用其他的HTTP动词,你需要在IIS中做一些配置,使.svc文件可以接受这些动词的请求
4、使用WebGet通过参数传输数据,也需要配置。而且必须指定UriTemplate
5、它支持XML、JSON以及ATOM这些数据格式
四、Web API
1、这是一个简单的构建HTTP服务的新框架
2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术
3、不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)
4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮
5、它可以部署在应用程序和IIS上
6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好
7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。
WCF和WEB API我该选择哪个?
1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF
2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、Named Pipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。
3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择Web API
4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API
欢迎关注我的公众号(同步更新文章):DoNet技术分享平台
阅读原文
关于WCF、WebAPI、WCFREST、WebService之间的区别总结相关推荐
- 关于WCF、WebAPI、WebService之间的区别总结 分布式通信技术
早在1996年Gartner就前瞻性地提出了面向服务架构的思想(SOA),SOA 的走红在很大程度上归功于 Web Service 标准的成熟和应用的普及. Service Oriented Ambi ...
- WCF、WebAPI、WebService之间的区别
在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API. 在.net平台下,你有很多的选择来构建一个HTTP Services. 我分享一下 ...
- WCF、WebAPI、WCFREST、WebService之间的区别
注明:转载 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我 ...
- 【转】WCF、WebAPI、WCFREST、WebService之间的区别
在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...
- .NET 的 WCF 和 WebService 有什么区别?(转载)
.NET 的 WCF 和 WebService 有什么区别?(转载) [0]问题: WCF与 Web Service的区别是什么? 和ASP.NET Web Service有什么关系? WCF与ASP ...
- Remoting和Webservice有什么区别
REMOTING和WEBSERVICE有什么区别 其实现的原理并没有本质的区别,在应用开发层面上有以下区别: 1.Remoting可以灵活的定义其所基于的协议,如果定义为HTTP,则与Web Serv ...
- .NET Core、Xamarin、.NET Standard和.NET Framework四者之间的区别
2019独角兽企业重金招聘Python工程师标准>>> 前段时日微软(Microsoft)正式发布了.NET Core 2.0,在很多开发社区中反响不错.但还是有一些开发者发出了疑问 ...
- FPGA与ASIC:它们之间的区别以及使用哪一种?
FPGA与ASIC:它们之间的区别以及使用哪一种? FPGA Vs ASIC: Differences Between Them And Which One To Use? VL82C486 Sing ...
- Python 应用领域以及版本之间的区别
Python 应用领域以及版本之间的区别 一.Python应用领域 Python+人工智能,给你更多研究方向选择! 企业级综合实战项目,集六大前沿技术为一体 二. Python 2与Python 3的 ...
最新文章
- 网站SEO优化中导航对用户体验的重要性
- JavaScript时间日期格式转化
- spring配置druid连接池和监控数据库访问性能
- java面试常考系列四
- 花旗linux 内核 如何调试,揭秘首个运行在Linux平台的核心银行系统
- 产品经理学习总结(1)——人人都是产品经理之需求文档语法
- 洛谷 | P1605 迷宫(DFS) C++
- 以下实例在用户点击按钮后对字符串进行反转操作
- 基于Tight VNC的远程协助功能的实现
- linux下如何在线添加和移除scsi磁盘?
- HDU 3401 Trade dp+单调队列优化
- 邮箱是互联网的个人中心
- [lammps教程]OVITO绘制原子应力云图
- 《当程序员的那些狗日日子》三
- linux网络编程(一)
- 信息系统管理——项目立项管理(详细可行性研究的结构)
- java batter_android电池管理系统从上层的java到底层驱动的调用(转载)
- XiaoWei的战斗力
- Linux下GPT分区,gdisk修复损坏的分区表
- Android 调用系统相册选取视频,过滤视频(兼容小米)
热门文章
- 比微软kinect更强的视频跟踪算法--TLD跟踪算法介绍
- win10水印烦死了_win10系统下word去水印的方法【图文】
- 为什么只看重结果_猫很现实?猫只是看重结果
- selenium的三种等待时间
- 状压dp之二之三 炮兵阵地/玉米田 By cellur925
- [BZOJ4033][HAOI2015]树上染色(树形DP)
- ajax如何处理服务器返回的三种数据类型
- linux安装nagios客户端
- unity中如何解决镜头穿透模型?
- 《Two Dozen Short Lessons in Haskell》学习(十八) - 交互式键盘输入和屏幕输出