定义:
Web service
- Web Service的主要目标是跨平台的可互操作性。
WCF
- WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合
- Address:每一个WCF的Service都有一个唯一的地址。这个地址给出了Service的地址和传输协议(Transport Protocol)
- Binding:封装好的通信方式
- 契约(Contact) 数据契约,消息契约,操作契约...----------Service Contract, Data Contract, Fault Contract和Message Contract
- 统一性,面向对象得方式创建面向服务的应用程序;
- 互操作性,跨进程,跨平台,跨机器的通信
- 安全与信赖,
- 兼容性,版本之间的兼容
Web API
区别
Web service
- 基于SOAP协议,数据格式是XML?不能是Json吗?
- 支持HTTP协议
- 不是开源的,可以被任何了解XML的人使用
- 只能部署在IIS上
WCF
- 基于SOAP协议,数据格式是XML
- web service 进化版,支持HTTP,HTTPS, TCP ,Named Pipes,MSMQ
- 配置繁琐
- 部署在应用程序,IIS,windows 服务中。
WCF Rest???
- wcf rest service ,需要在wcf中应用webHttpBindings
- 分别使用WebGet 和 WebInvoke属性,实现了HTTP的Get 和POST动词
- 要想使用其他的HTTP动词,你需要在IIS中做些配置,使.svc 文件可以接受这些动词的请求
- 使用WebGet通过参数传递数据,也需要配置,而且必须指定URiTemplate ???
- 支持XML,JSON,ATOM???数据
Web API
- 简单的HTTP服务的新框架
- 在.net平台上可以Web API 是一个开源的,理想的可以构建Rest-ful服务的技术
- 可以使用HTTP的全部特点(比如uris,缓存,Request/response头,多种内容格式,版本控制)
- 也支持MVC特征(路由,控制器,Filter,模型绑定,控制反转IOC ,依赖注入DI,单元测试),这些使程序更简单,更健壮
- 可以部署在应用程序???(如何部署在应用程序上)和IIS上
- 轻量级框架,支持限制宽带的设备(智能手机)支持较好
- Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。?????
延伸
- SOAP
- HTTP的特点
- Web API 和MVC的区别
链接
Web Service: http://www.cnblogs.com/Jessy/p/3528341.html
WCF Demo:http://www.cnblogs.com/iamlilinfeng/archive/2012/09/25/2700049.html
Web Api :http://www.360doc.com/content/14/0630/18/13247663_391034112.shtml
Web API工作方式:http://www.cnblogs.com/wk1234/archive/2012/05/07/2486872.html
区别:http://www.cnblogs.com/markli/p/4460564.html