WCF开发工具中有一些比较重要的协定,可以来帮助我们轻松的实现各种特定功能的实现。掌握这些协定对于初学者来说是一个比较重要的步骤。服务操作是在服务的代码中定义的过程,用于实现某种操作的功能。 此操作作为一个 WCF 客户端上的方法向客户端公开。 该方法可能返回一个值,并可能采用数量可选的参数,或是不采用任何参数且不返回任何响应。例如,一个实现简单的“Hello”的操作可以用作客户端存在通知,并可以开始一系列操作。#t#
服务协定
在WCF协定中,服务协定将多个相关的操作联系在一起,组成单个功能单元。 WCF协定可以定义服务级设置,如服务的命名空间、对应的回调协定以及其他此类设置。在大多数情况下,协定是通过用您所选的编程语言创建一个接口并将 ServiceContractAttribute 属性应用于该接口来定义的。通过实现该接口,可生成实际的服务代码。
操作协定
操作WCF协定定义参数并返回操作的类型。 在创建定义服务协定的接口时,可以通过将 OperationContractAttribute 属性应用于协定中包含的每个方法定义来表示一个操作协定。可以将操作建模为采用单个消息作为参数并返回单个消息,或者建模为采用一组类型作为参数并返回一个类型。在后一种情况下,系统将确定需要为该操作交换的消息的格式。
消息协定
消息协定描述消息的格式。 例如,它会声明消息元素应包含在消息头中还是包含在消息正文中,应该对消息的何种元素应用何种级别的安全,等等。
错误协定
可以将错误协定与服务操作进行关联,以指示可能返回到调用方的错误。 一个操作可能具有零个或更多个与其相关联的错误。 这些错误是在编程模型中建模为异常的 SOAP 错误。
数据协定
服务使用的数据类型必须在元数据中进行描述,以使其他各方可以与该服务进行交互操作。 在WCF协定中,数据类型的说明称为数据协定,而这些类型可以在消息的任何部分使用(例如,作为参数或返回类型)。 如果服务仅使用简单类型,则无需显式使用数据协定。
宿主
服务必须承载于某个进程中。 “宿主”是控制服务的生存期的应用程序。 服务可以是自承载的,也可以由现有的宿主进程进行管理。
自承载服务
自承载服务是在开发人员创建的进程应用程序中运行的服务。 开发人员控制服务的生存期、设置服务的属性、打开服务(这会将服务设置为侦听模式)以及关闭服务。
宿主进程
宿主进程是专为承载服务而设计的应用程序。 这些宿主进程包括 Internet 信息服务 (IIS)、Windows 激活服务 (WAS) 和 Windows 服务。 在这些宿主方案中,由宿主控制服务的生存期。 例如,使用 IIS 可以设置包含服务程序集和配置文件的虚拟目录。在收到消息时,IIS 将启动服务并控制服务的生存期。
实例化
服务具有一个实例化模型。 有三种实例化模型:“单个”,在这种模型中,由单个 CLR 对象为所有客户端提供服务;“每个调用”,在这种模型中,将创建一个新的 CLR 对象来处理每个客户端调用;“每个会话”,在这种模型中,将创建一组 CLR 对象,并且为每个独立的会话使用一个对象。 实例化模型的选择取决于应用程序要求和服务的预期使用模式。
以上就是对WCF协定的相关介绍。