Restful WCF开发实践 互动版

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的,消息格式为XMLRESTful WCF可以为XMLJson以及其他的类型
  • WCF配置起来较为繁琐,RESTful WCF配置较为简单。

除此之外,RESTful WCF有很多新的特性:

  • 契约定义中分别使用[WebGet][WebInvoke]属性,来关联HTTPGETPOST、PUT、DELETE动词
  • 使用UriTemplate来显式的指定资源访问地址
  • 绑定类型只能使用webHttpBindings