WCF对于我们编程人员来说应该是一个非常不错的辅助工具。不过其中的内容还是比较繁多的,我们需要在实践中不断的去掌握这一框架的运用。#t#
WCF会话状态和两个端点(EndPoint)之间的一系列消息交换相关联,它实际上是 "实例上下文(Instance Context)”,控制着服务对象实例的创建方式和生存期。和 ASP.NET Session 有很大不同。
WCF会话特点:
由调用程序(Calling Application)发起初始化和终止操作。
由具体的 Binding 类型实现,因此它们之间的细节可能有所不同。
不提供 ASP.NET Session 那样的数据容器。
启动WCF会话的方法包括:
调用 Channel 的 Open 方法。我们可以使用 ChannelFactory 来创建 Channel。
调用客户端代理对象的 Open 方法(ClientBase.Open)。
调用任何允许初始化会话服务方法(缺省情况下所有的服务方法都自动初始化Session,也就是 IsInitiating=true)。
结束WCF会话的方法包括:
调用 Channel 的 Close 方法。
调用客户端代理对象的 Close 方法(ClientBase.Close)。
调用任何包含 "IsTerminating=true" 声明的服务方法(缺省情况下所有的服务方法 IsTerminating=false,需要我们显示声明)。