WCF Session开启服务契约

WCF开发工具在实际应用中,可以帮助我们实现许多比较重要的功能需求。在这篇文章中,我们会为大家详细讲解一下WCF Session的相关应用技术,并从中加深对WCF功能的了解程度。#t#

WCF Session 特点:

由调用程序(Calling Application)发起初始化和终止操作。

由具体的 Binding 类型实现,因此它们之间的细节可能有所不同。

不提供 ASP.NET Session 那样的数据容器。

启动WCF Session的方法包括:

调用 Channel 的 Open 方法。我们可以使用 ChannelFactory 来创建 Channel。

调用客户端代理对象的 Open 方法(ClientBase.Open)。

调用任何允许初始化会话服务方法(缺省情况下所有的服务方法都自动初始化Session,也就是 IsInitiating=true)。

结束WCF Session的方法包括:

调用 Channel 的 Close 方法。

调用客户端代理对象的 Close 方法(ClientBase.Close)。

调用任何包含 "IsTerminating=true" 声明的服务方法(缺省情况下所有的服务方法 IsTerminating=false,需要我们显示声明)。

开启服务契约的WCF Session

可以选择的模式包括:Required、Allowed、NotAllowed。Required 表示必须使用 Session,如果 Binding 不支持,则会抛出异常;Allowed 表示如果 Binding 支持 Session 则开启会话;NotAllowed 表示停用 Session。多数 Binding 缺省就会开始 Session,而 BaseHttpBinding 不支持 Session。

 

 
 
 
  1. [ServiceContract(SessionModeSessionMode=SessionMode.Required)]  
  2. public interface ICalculate  
  3. {  
  4. [OperationContract]  
  5. int Add(int a, int b);  

 

THE END