WCF REST ----类、属性

研究WCF REST架构

类、属性方面

下文中服务协定与服务契约属同一概念

 

特性类:

DataContractFormatAttribute类

指示Windows Communication Foundation(WCF)基础结构使用DataContractSerializer。

与XmlSerializerFormatAttribute属性类似

 

XmlSerializerFormatAttribute类

指示Windows Communication Foundation(WCF)基础结构使用XmlSerializer代替XmlObjectSerializer。

 

DataContractSerializer类

使用提供的数据协定,将类型实例序列化和反序列化为XML流或文档。此类不能被继承。

 

DataContractSerializerOperationBehavior类

表示DataContractSerializer的运行时行为

 

ServiceContractAttribute类

指示接口或类在Windows Communication Foundation(WCF)应用程序中定义服务协定

 

OperationContractAttribute类

指示方法定义一个操作,该操作是Windows Communication Foundation(WCF)应用程序中服务协定的一个部分

 

WebGetAttribute类

表示指示服务操作逻辑上是检索操作,并且的属性只能由WCF其他编程模型调用。

 

WebInvokeAttribute类

表示指示服务操作逻辑上是调用操作,并且的属性只能有WCF其他编程模型调用。

除了OperationContractAttribute之外,WebInvokeAttribute属性也会应用到服务操作,并将该操作与UriTemplate以及表示调用的基础传输谓词(如HTTP POST、PUT或DELETE)相关联。(WebGetAttribute相同道理

 

WebInvokeAttribute.RequestFormat属性,确定对服务操作发出的请求和格式。可能的值为Xml和Json。(WebGetAttribute相同道理

 

WebHttpBehavior类

启用Windows Communication Foundation(WCF)服务的Web编程模型。

 

UriTemplate类

一个表示统一资源标识符(URI)模板的类。

 

非特性类:

 

WebOperationContext成员

可以轻松访问Web请求和响应上下文属性的帮助器类。

 

HttpStatusCode枚举

包含为HTTP定义的状态代码的值

 

WebServiceHost类

一个ServiceHost派生类,它是对Windows Communication Foundation(WCF)REST编程模型的补充

 

WebServiceHost(Object,Uri[])使用指定的单一服务器实例和基址初始化WebServiceHost类的新实例。

WebServiceHost(Type,Uri[])使用指定的服务类型和基址初始化WebServiceHost类的新实例。

 

如果WebServiceHost在服务说明中找不到终结点,则它将在服务的基址中自动为HTTP和HTTPS基址创建一个默认终结点。

此外WebServiceHost类会将WebHttpBehavior添加到所有没有该行为但具有WebMessageEncodingElement的终结点中。

 

AspNetCompatibilityRequirementsAttribute类
应用于Windows Communication Foundation(WCF)服务以指示该服务能否在ASP.NET兼容模式下运行。


AspNetCompatibilityRequirementsAttribute.RequirementsMode属性 获取或设置该服务所需的ASP.NET兼容级别


AspNetCompatibilityRequirementsMode枚举指定Windows Communication Foundation(WCF)服务能否以与ASP.NET兼容的模式运行。


WebHttpBinding类
一个绑定,可用于为通过HTTP请求(而不是SOAP消息)公开的Windows Communication Foundation(WCF) Web服务配置终结点。

 

Global.asax文件(也称为ASP.NET应用程序文件)是一个可选的文件,该文件包含响应ASP.NET或HTTP模块所引发的应用程序级别和会话级别事件的代码。

 

HttpApplication类 定义ASP.NET应用程序中的所有应用程序对象通用的方法、属性和事件。

HttpApplication类的实例是在ASP.NET基础结构中创建的,而不是由用户直接创建的。

 

RouteTable类存储应用程序的URL路由

RouteTable.Routes属性 获取从RouteBase类派生的对象的集合。

 

ServiceRoute类 允许为支持无扩展基址的WCF服务创建HTTP路由

ServiceRoute构造函数 使用指定的路由前缀、服务主机工厂和服务类型初始化ServiceRoute类的新实例。

 

WebServiceHostFactory类 在可动态创建主机实例以响应传入消息的托管宿主环境中提供WebServiceHost的实例工厂。

 

<system.web>元素(ASP.NET设置架构)

指定配置文件中ASP.NET配置设置的根元素,并包含用于配置ASP.NET Web应用程序和控制应用程序行为方式的配置元素。

 

Web.config文件中的<system.webService>节用于指定适用于Web应用程序的IIS 7.0设置。

子元素:

  <modules>每次请求时都会调用托管代码模块,通过该模块可对请求或响应进行自定义。

 

<system.serviceModel> 此配置节包含所有Windows Communication Foundation(WCF)服务的设置。它还包含公开此服务的终结点。

子元素:

  <serviceHostingEnvironment>此元素定义服务承载环境要为特定传输实例化的类型。如果此元素为空,则使用默认类型。

  属性aspNetCompatibilityEnbled一个布尔值,指示是否已为当前应用程序启用了ASP.NET兼容模式。默认值为false。

  此属性设置为true时,对Windows Communication Foundation(WCF)服务的请求将流经ASP.NET HTTP管道,而通过非HTTP 协议的通信将被禁止。

 

  <standardEndpoints>此配置节用于定义一个标准终结点集合,这些终结点是预配置的可重用终结点。

  标准终结点具有一个或多个设置为固定值的地址、绑定 和协定特性。

  子元素:

    <webHttpEndpoint> 此配置元素定义带有自动添加<webHttp>行为的固定<webHttpBinding>绑定的标准终结点。

    在编写REST服务时,请使用此终结点 。

 

  <services>服务是在配置文件的services节中定义的。每个服务都有自己的service配置节

  子元素:

    <service>元素包含Windows Communication Foundation(WCF)服务的设置。它还包含公开此服务的终结点。

    name指定要进行实例化的服务的类型

    子元素:

      <host>指定服务主机的设置

      <endpoint>元素 指定用于公开服务的服务终结点的绑定、协定和地址属性。

      属性:

        address 一个包含终结点地址的字符串。

        绑定 必需的字符串属性,此属性指定要使用的绑定类型。

        contract 一个字符串,指示此终结点公开了哪个协定。

你可能感兴趣的:(REST)