行为
2012-08-20 20:44
106 查看
1、描述
行为是WCF影响运行时操作的类。行为作为WCF运行时被调用,在客户端和服务端运行并作为消息在两者之间流转。因为行为运行在这些重要的时间,它们被用来实现很多WCF的内建特性。它们也是一个重要的自定义扩展点。
2、行为使用
除了初始化,行为也可以在数据发送前或接收到以后操作数据。在客户端,行为可以用来执行三个函数:
1. 参数检测。检测并/或改变数据的.NET表现形式,在数据被转换成XML前。
2. 格式化消息。检测并/或改变数据当数据在.NET类型和XML间转换时。
3. 消息检测。在数据被转成.NET类型前,检测并/或改变数据的XML表现形式。
在服务端,行为可以用在两个额外的场景中:
操作选择。在服务端,检测接收到的消息并确定应该调用哪个服务。
操作调用。在操作层,调用类的方法。
3、并发和实例
并发是一个多少个任务可以同时执行的度量,以任务(请求,工作,事务,以及类似的)的形式度量。执行时间是一个任务多长时间完成的度量,以时间(毫秒,秒,其他的时间单位等)度量。吞吐量是在一个指定时间里可以完成多少个任务的度量,以任务/时间(请求/秒,
事务/分,等等)的形式度量。吞吐量是关于并发和执行时间的函数
WCF有两种控制并发的行为:
InstanceContextMode 和 ConcurrencyMode.
InstanceContextMode服务行为用来控制实例而且可以设置成以下三种值:
Single. 服务类的一个实例处理所有接收到的请求。这实现了一个单例。
PerCall. 为每个接收到的请求创建一个服务类的实例。
PerSession. 每个客户端会话创建一个服务类实例。当使用不支持会话的信道时,所有的服务调用与PerCall一样,即便是InstanceContextMode被设置成PerSession.
ConcurrencyMode服务行为用来控制一个服务实例内部的线程并发。默认设置,ConcurrencyMode.Single,指导WCF在某一时刻旨在服务类的实例中执行一个线程。这个行为可以被设置成三个值之一:
Single. 在一个时刻只有一个线程可以访问服务类。这是最安全的设置因为服务操作不必担心线程安全。
Reentrant. 在一个时刻仅有一个线程可以访问服务类,但是这个线程可以离开类并在稍后返回继续。
Multiple. 多个线程可以同步访问服务类。这个设置要求类创建在线程安全基础上。
联合InstanceContextMode和ConcurrencyMode
行为是WCF影响运行时操作的类。行为作为WCF运行时被调用,在客户端和服务端运行并作为消息在两者之间流转。因为行为运行在这些重要的时间,它们被用来实现很多WCF的内建特性。它们也是一个重要的自定义扩展点。
2、行为使用
除了初始化,行为也可以在数据发送前或接收到以后操作数据。在客户端,行为可以用来执行三个函数:
1. 参数检测。检测并/或改变数据的.NET表现形式,在数据被转换成XML前。
2. 格式化消息。检测并/或改变数据当数据在.NET类型和XML间转换时。
3. 消息检测。在数据被转成.NET类型前,检测并/或改变数据的XML表现形式。
在服务端,行为可以用在两个额外的场景中:
操作选择。在服务端,检测接收到的消息并确定应该调用哪个服务。
操作调用。在操作层,调用类的方法。
3、并发和实例
并发是一个多少个任务可以同时执行的度量,以任务(请求,工作,事务,以及类似的)的形式度量。执行时间是一个任务多长时间完成的度量,以时间(毫秒,秒,其他的时间单位等)度量。吞吐量是在一个指定时间里可以完成多少个任务的度量,以任务/时间(请求/秒,
事务/分,等等)的形式度量。吞吐量是关于并发和执行时间的函数
WCF有两种控制并发的行为:
InstanceContextMode 和 ConcurrencyMode.
InstanceContextMode服务行为用来控制实例而且可以设置成以下三种值:
Single. 服务类的一个实例处理所有接收到的请求。这实现了一个单例。
PerCall. 为每个接收到的请求创建一个服务类的实例。
PerSession. 每个客户端会话创建一个服务类实例。当使用不支持会话的信道时,所有的服务调用与PerCall一样,即便是InstanceContextMode被设置成PerSession.
ConcurrencyMode服务行为用来控制一个服务实例内部的线程并发。默认设置,ConcurrencyMode.Single,指导WCF在某一时刻旨在服务类的实例中执行一个线程。这个行为可以被设置成三个值之一:
Single. 在一个时刻只有一个线程可以访问服务类。这是最安全的设置因为服务操作不必担心线程安全。
Reentrant. 在一个时刻仅有一个线程可以访问服务类,但是这个线程可以离开类并在稍后返回继续。
Multiple. 多个线程可以同步访问服务类。这个设置要求类创建在线程安全基础上。
联合InstanceContextMode和ConcurrencyMode
相关文章推荐
- 怎样提升windows7命令行为管理员权限运行一些特殊命令
- 状态模式(State)----行为笔记
- 使用Spring注解方式管理事务与传播行为详解
- 取消和还原键盘事件默认行为
- 行为模式-职责链模式
- 用@spy模拟真实对象的部分行为
- 互联网中的使用习惯与行为聚类
- TCP Socket的一些行为
- [Silverlight动画]转向行为 - 群落
- 阻止标签的默认行为发生
- (五)、WCF中的行为
- 结构-行为-样式 - Angularjs 环境下Ztree结合JqueryUI实现拖拽
- 正确的 send & recv 行为
- XAF-如何改变列表点击时的默认行为
- DataGridView中设置指定行为当前行
- js提升行为
- 员工网络行为规范对现代企业管理的重要性
- 23个统计数字揭示搜索用户行为
- 云计算,WoW以及买猪行为的量化
- spring 依赖注入后的行为