REST 架构风格下的WCF特性简介


   1、绑定协议与行为(webHttpBinding 与webHttpBehavior)

  
  
  众所周知,WCF中支持的协议有很多,如wsHttpBinding等ws-*系列的、netTcpBinding、支持MSMQ的系列协议等。在构建REST架构风格的WCF中
  
  
  我们使用的协议为webHttpBinding 。与之相对应的行为则是webHttpBehavior。
  
  
  对他们的的描述分别为:
  
  
  :一个绑定,可用于为通过 HTTP 请求(而不是 SOAP 消息)公开的 Windows Communication Foundation (WCF) Web 服务配置终结点。
  
  
  :启用 Windows Communication Foundation (WCF) 服务的 Web 编程模型。
  
  
  行为与 WebHttpBinding 绑定一起使用时,支持 WCF 公开和访问 Web 样式服务。WebServiceHost 会自动将此行为添加到使用 WebHttpBinding 的终结点。
  
  
  作为REST 架构风格下的WCF 所使用的协议,它和其他协议一样通知WCF如何为通讯建立通道堆栈,也就是建立相应的Channel以用于
  
  
  通讯。webHttpBehavior的作用是为REST WCF的端点提供行为的配置,它决定了WebHttpDispatchOperationSelector如何决定阳痿选择何种路由方式
  
  
  来访问资源。
  
  
  2、Action中的各个动词决定了对资源进行何种操作。
  
  
  :对客户端知晓的资源进行添加。它是WebInvokeAttribute默认的操作动作
  
  
  :对资源进行获取。它是WebGetAttribute默认的操作动作
  
  
  :对资源进行梅毒删除。一般由WebInvokeAttribute指定
  
  
  :对资源进行添加或者修改。一般由WebInvokeAttribute指定
  
  
  3、
  
  
  (Uniform Resource Identifier)的指定是通过REST WCF编程模型中的WebGetAttribute、 WebInvokeAttribute两种特性来标识的。它通过将
  
  
  4、 WebInvokeAttribute两种特性的UriTemplate属性指定。通常将它指定在服务契约对应的接口上,WebHttpDispathOperationSelector通过URI来决定
  
  
  对资源进行操作。示例定义如下:
  
  
  5、webServiceHost与
  
  
  对WCF有些了解的人都知道,它的配置是比较复杂的。REST所推崇的是简易型,因此在REST WCF编程模型中,MS推出了
  
  
  与webServiceHostFactory来简化我们的配置。webServiceHost继承自ServiceHost,使用它,我们将不再需要对webHttpBinding与进行配置,webServiceHost会自动创建端点,并使用webHttpBinding与webHttpBehavior对其进行配置。