WCF学习笔记(七)WCF基础

行为(Behaviors)

行为就是服务的本地特性,他不会影响服务的通信模式。客户端不并不知道行为,行为也不会出现在服务的绑定或发布的元数据中。

WCF定义了两种类型的服务端行为。

ServiceBehavior和OpreationBehavior。

ServiceBehavior用于配置服务行为,它能够影响服务的所有终结点(包括所有的契约与操作)。

OpreationBehavior用于配置操作的行为,即行为只会影响特定操作的实现。

ServiceBehavior特性用于配置服务的实例模式。

public enum InstanceContextMode
    {
        // 摘要:
        //     为每个会话创建一个新的 System.ServiceModel.InstanceContext 对象。
        PerSession = 0,
        //
        // 摘要:
        //     新的 System.ServiceModel.InstanceContext 对象在每次调用前创建,在调用后回收。如果信道未创建会话,则该值的行为就如同
        //     System.ServiceModel.InstanceContextMode.PerCall 一样。
        PerCall = 1,
        //
        // 摘要:
        //     只有一个 System.ServiceModel.InstanceContext 对象用于所有传入呼叫,并且在调用后不回收。如果服务对象不存在,则创建一个。
        Single = 2,
    }

单调服务(Per-Call Services)

(1)客户端调用代理,代理将调用转发给服务。

(2)WCF创建一个服务实例,然后调用服务实例的方法

(3)当方法调用返回时,如果对象实现了IDisposable接口,则WCF将调用IDisposable.Dispose()方法。WCF随后销毁上下文。

(4)客户端调用代理,代理将调用转发给服务。

(5)WCF创建一个对象,然后调用对象的方法。

posted @ 2013-05-07 17:16  UncleNull  阅读(172)  评论(0编辑  收藏  举报