WCF协定各种不同类型概念解读

开发 开发工具
WCF协定类型多样化,掌握每一种类型的应用在实际应用中作用非常大。那么接下来就让我们一起来看看相关概念介绍。

WCF开发工具中有一些比较重要的协定,可以来帮助我们轻松的实现各种特定功能的实现。掌握这些协定对于初学者来说是一个比较重要的步骤。服务操作是在服务的代码中定义的过程,用于实现某种操作的功能。 此操作作为一个 WCF 客户端上的方法向客户端公开。 该方法可能返回一个值,并可能采用数量可选的参数,或是不采用任何参数且不返回任何响应。例如,一个实现简单的“Hello”的操作可以用作客户端存在通知,并可以开始一系列操作。#t#

服务协定

在WCF协定中,服务协定将多个相关的操作联系在一起,组成单个功能单元。 WCF协定可以定义服务级设置,如服务的命名空间、对应的回调协定以及其他此类设置。在大多数情况下,协定是通过用您所选的编程语言创建一个接口并将 ServiceContractAttribute 属性应用于该接口来定义的。通过实现该接口,可生成实际的服务代码。

操作协定

操作WCF协定定义参数并返回操作的类型。 在创建定义服务协定的接口时,可以通过将 OperationContractAttribute 属性应用于协定中包含的每个方法定义来表示一个操作协定。可以将操作建模为采用单个消息作为参数并返回单个消息,或者建模为采用一组类型作为参数并返回一个类型。在后一种情况下,系统将确定需要为该操作交换的消息的格式。

消息协定

消息协定描述消息的格式。 例如,它会声明消息元素应包含在消息头中还是包含在消息正文中,应该对消息的何种元素应用何种级别的安全,等等。

错误协定

可以将错误协定与服务操作进行关联,以指示可能返回到调用方的错误。 一个操作可能具有零个或更多个与其相关联的错误。 这些错误是在编程模型中建模为异常的 SOAP 错误。

数据协定

服务使用的数据类型必须在元数据中进行描述,以使其他各方可以与该服务进行交互操作。 在WCF协定中,数据类型的说明称为数据协定,而这些类型可以在消息的任何部分使用(例如,作为参数或返回类型)。 如果服务仅使用简单类型,则无需显式使用数据协定。

宿主

服务必须承载于某个进程中。 “宿主”是控制服务的生存期的应用程序。 服务可以是自承载的,也可以由现有的宿主进程进行管理。

自承载服务

自承载服务是在开发人员创建的进程应用程序中运行的服务。 开发人员控制服务的生存期、设置服务的属性、打开服务(这会将服务设置为侦听模式)以及关闭服务。

宿主进程

宿主进程是专为承载服务而设计的应用程序。 这些宿主进程包括 Internet 信息服务 (IIS)、Windows 激活服务 (WAS) 和 Windows 服务。 在这些宿主方案中,由宿主控制服务的生存期。 例如,使用 IIS 可以设置包含服务程序集和配置文件的虚拟目录。在收到消息时,IIS 将启动服务并控制服务的生存期。

实例化

服务具有一个实例化模型。 有三种实例化模型:“单个”,在这种模型中,由单个 CLR 对象为所有客户端提供服务;“每个调用”,在这种模型中,将创建一个新的 CLR 对象来处理每个客户端调用;“每个会话”,在这种模型中,将创建一组 CLR 对象,并且为每个独立的会话使用一个对象。 实例化模型的选择取决于应用程序要求和服务的预期使用模式。

以上就是对WCF协定的相关介绍。

责任编辑:曹凯 来源: 中国IT实验室
相关推荐

2011-07-08 09:24:59

网络自动化虚拟化

2009-12-22 18:29:10

WCF适配器

2009-11-06 16:22:35

WCF协定

2009-12-21 18:19:19

WCF地址类型

2010-03-01 16:25:07

WCF体系架构

2023-03-24 16:21:08

2010-02-25 13:18:36

WCF单向协定

2010-03-01 16:41:04

WCF数据表

2009-12-22 10:16:54

WCF服务状态

2010-03-01 14:50:30

WCF行为类型

2009-11-09 13:23:35

WCF协定

2010-12-16 10:54:07

SSL VPNVPN

2011-03-30 08:27:48

C#

2023-07-25 16:04:18

网络电缆光纤

2010-02-24 17:47:05

WCF集合类型

2010-05-10 09:48:46

Oracle优化器

2011-04-12 11:46:26

Oracle优化器

2022-09-21 09:03:46

机密计算数据安全

2023-07-19 09:50:25

人工智能算法

2010-07-01 16:12:10

UML组件图
点赞
收藏

51CTO技术栈公众号