WCF和RESTful WCF
从.NET Framework 3.5开始,微软引入了System.ServiceModel.Web组件,并在其中新增了RESTful WCF编程模型和基础架构部件,以对REST风格的WCF开发提供底层支持。
与传统的WCF相比,RESTful WCF有以下的不同:
- WCF的传输协议可以为TCP、HTTP、MSMQ、命名管道等,RESTful WCF一般为HTTP
- WCF是基于SOAP的,消息格式为XML;RESTful WCF可以为XML、Json以及其他的类型
- WCF配置起来较为繁琐,RESTful WCF配置较为简单。
除此之外,RESTful WCF有很多新的特性:
- 契约定义中分别使用[WebGet]和[WebInvoke]属性,来关联HTTP的GET和POST、PUT、DELETE动词
- 使用UriTemplate来显式的指定资源访问地址
- 绑定类型只能使用webHttpBindings