WCF行为学习
来源:互联网 发布:json转实体类 编辑:程序博客网 时间:2024/04/29 03:41
行为是WCF影响运行时操作的类。行为作为WCF运行时被调用,在客户端和服务端运行并作为消息在两者之间流转。因为行为运行在这些重要的时间,它们被用来实现很多WCF的内建特性。它们也是一个重要的自定义扩展点。
为了理解行为是如何使用的,有必要考虑运行时是如何初始化的。这是通过在客户端的ChannelFactory和在服务端的ServiceHost.这两个类都执行了类似的功能:
1. 接收一个.NET类型作为输入而且读取它的属性信息。
2. 从app.config 或者web.config 文件载入配置信息。在客户端,ChannelFactory主要查看绑定信息;在服务端,ServiceHost主要查看契约和绑定信息。
3. 创建运行时环境结构,ServiceDescription.
4. 开始通信。在客户端,ChannelFactory使用信道链接服务端;在服务端,ServiceHost打开信道并监听消息。
在步骤1,行为信息在代码中以属性形式定义,如[ServiceBehavior(TransactionTimeout="00:00:30")].在步骤2,行为信息在配置文件中定义,如一个app.config文件中的<transactionTimeout="00:00:30">.在步骤3,ChannelFactory和ServiceHost类创建WCF运行时而且负责将步骤1和步骤2中找到的行为插入到运行时。也是在第3步,行为可以手动添加到服务模型,如Endpoint.Behaviors.Add(new MyBehavior())
除了初始化,行为也可以在数据发送前或接收到以后操作数据。在客户端,行为可以用来执行三个函数:
1. 参数检测。检测并/或改变数据的.NET表现形式,在数据被转换成XML前。
2. 格式化消息。检测并/或改变数据当数据在.NET类型和XML间转换时。
3. 消息检测。在数据被转成.NET类型前,检测并/或改变数据的XML表现形式。
在服务端,行为可以用在两个额外的场景中:
操作选择。在服务端,检测接收到的消息并确定应该调用哪个服务。
操作调用。在操作层,调用类的方法。
(http://www.cnblogs.com/danielWise/archive/2010/11/30/1892476.html)
例子:
并发和实例(服务行为)
实现事务(操作行为)
- WCF行为学习
- [WCF 学习笔记] 10. 行为控制
- WCF行为
- (五)、WCF中的行为
- 聚焦WCF行为的扩展
- 【WCF】WCF框架学习
- 学习WCF
- WCF 学习
- WCF学习
- WCF学习
- WCF 学习
- 学习 WCF
- WCF 学习
- WCF学习
- WCF学习
- WCF 学习
- WCF学习
- WCF扩展:行为扩展Behavior Extension
- 黑马程序员_关于java异常机制的学习
- mysql 存储过程 范例
- poj1258--prim
- JSP入门
- NSNumber中的compare方法
- WCF行为学习
- 1008 Elevator
- forword与include的区别(简要)
- 第六章:I/O复用:select和poll函数
- 晒一晒老外男人们在中国的“性福”生活
- linux内核部件分析(十一)——waitqueue与线程的阻塞
- 一周总结
- 配置Log4j
- 《乔布斯传》缘何从中国书店飞速消失?