WCF入门(四)——会话与实例

简介: 会话是两个终结点之间消息交换的一种相互关系;实例化是服务对象的生存期控制。 (一)会话 会话由服务契约的SessionMode属性指定,SessionMode属性用于是否允许,禁止和要求会话状态,它有三种设定: Allowed 如果绑定支持会话,则契约支持会话 Required 要求绑定支持会话,否则引发异常 NotAllowed 指定契约不支持启动会话的绑定 如果服务支持会话,则可以通过实例创建模式属性指定服务契约实例与会话之间的关系。

会话是两个终结点之间消息交换的一种相互关系;实例化是服务对象的生存期控制。

(一)会话

会话由服务契约的SessionMode属性指定,SessionMode属性用于是否允许,禁止和要求会话状态,它有三种设定:

Allowed 如果绑定支持会话,则契约支持会话

Required 要求绑定支持会话,否则引发异常

NotAllowed 指定契约不支持启动会话的绑定

如果服务支持会话,则可以通过实例创建模式属性指定服务契约实例与会话之间的关系。

 

(二)实例

ServiceBehavior属性的InstanceContextMode属性用来指定服务如何创建。系统默认为PerSession,客户端与wcf服务在建立通话时,创建新对象,然后,在相同会话中使用同一对象。

WCF有三种对象创建模式:

PerSesson,为每个会话创建一个新的实例对象(默认),用于所有调用

PerCall,为服务的每个调用创建一个实例,调用完成后,回收。

Single,创建一个实例对象,用于所有的传入,且在调用后不回收。

 

实例模式

要求会话状态

允许的

禁止会话

PerCall

每个调用都具有一个会话和一个实例;如果无会话通道的行为,将引发异常

每个调用都具有一个会话和实例;如果无会话通道的行为,每个调用都具有一个实例

会话通道的行为将引发异常;无会话通道的行为,每个调用都具有一个实例

PerSession

每个通道都具有一个会话和实例;如果无会话通道的行为,将引发异常

每个通道都具有一个会话和实例;如果无会话通道的行为,则每个调用都具有一个实例

会话通道的行为将引发异常;无会话通道的行为,每个调用都具有一个实例

Single

所有的调用只有一个会话和一个实例;如果无会话通道的行为,将引发异常

每个创建的实例或用户指定的单一实例都具有一个会话和实例;如果无会话通道的行为则每个创建的单一实例或用户指定的单一实例都具有一个实例

会话通道的行为将引发异常;无会话通道的行为每个创建的单一实例或用户指定的单一实例都具有一个实例

 

 未完

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

目录
相关文章
|
索引
一起谈.NET技术,Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放-结局(四十)
查看本系列其他相关文章请点击:Silverlight+WCF 新手实例象棋专题索引 在线演示地址:Silverlight+WCF 新手实例 象棋 在线演示 在Silverlight+WCF 新手实例 象棋 主界面-棋谱-回放(三十九)中,我们实现了用户的棋谱回放,在文章的下面,我们曾留下了两...
921 0
一起谈.NET技术,使用WCF实现SOA面向服务编程——简单的WCF开发实例
  前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。   在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。
939 0
使用W“.NET技术”CF实现SOA面向服务编程——简单的WCF开发实例
  前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。   在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。
879 0
使用WC“.NET研究”F实现SOA面向服务编程——简单的WCF开发实例
  前面为大家介绍过WCF的特点,现在再讲解一下WCF基础概念。   在WCF里,各个Application之间的通信是由EndPoint来实现的,EndPoint是WCF实现通信的核心要素。一个WCF Service可由多个EndPoint集合组成,每个EndPoint只能有一种绑定,就是说EndPoint就是通信的入口,客户端和服务端通过 EndPoint交换信息。
934 0
|
.NET 开发框架 数据安全/隐私保护