WCF會(huì)話方法特點(diǎn)及應(yīng)用介紹
WCF對(duì)于我們編程人員來說應(yīng)該是一個(gè)非常不錯(cuò)的輔助工具。不過其中的內(nèi)容還是比較繁多的,我們需要在實(shí)踐中不斷的去掌握這一框架的運(yùn)用。#t#
WCF會(huì)話狀態(tài)和兩個(gè)端點(diǎn)(EndPoint)之間的一系列消息交換相關(guān)聯(lián),它實(shí)際上是 "實(shí)例上下文(Instance Context)”,控制著服務(wù)對(duì)象實(shí)例的創(chuàng)建方式和生存期。和 ASP.NET Session 有很大不同。
WCF會(huì)話特點(diǎn):
由調(diào)用程序(Calling Application)發(fā)起初始化和終止操作。
由具體的 Binding 類型實(shí)現(xiàn),因此它們之間的細(xì)節(jié)可能有所不同。
不提供 ASP.NET Session 那樣的數(shù)據(jù)容器。
啟動(dòng)WCF會(huì)話的方法包括:
調(diào)用 Channel 的 Open 方法。我們可以使用 ChannelFactory 來創(chuàng)建 Channel。
調(diào)用客戶端代理對(duì)象的 Open 方法(ClientBase.Open)。
調(diào)用任何允許初始化會(huì)話服務(wù)方法(缺省情況下所有的服務(wù)方法都自動(dòng)初始化Session,也就是 IsInitiating=true)。
結(jié)束WCF會(huì)話的方法包括:
調(diào)用 Channel 的 Close 方法。
調(diào)用客戶端代理對(duì)象的 Close 方法(ClientBase.Close)。
調(diào)用任何包含 "IsTerminating=true" 聲明的服務(wù)方法(缺省情況下所有的服務(wù)方法 IsTerminating=false,需要我們顯示聲明)。