WCF服務(wù)行為在實(shí)際應(yīng)用中作用體現(xiàn)
我們今天將會(huì)為大家重點(diǎn)介紹一下WCF服務(wù)行為的一些相關(guān)知識(shí)。希望對(duì)于初學(xué)者來說,可以通過本文介紹的內(nèi)容充分掌握這一應(yīng)用技術(shù)。在介紹服務(wù)寄宿的時(shí)候,我們談到過WCF下“契約(Contract)”和“行為(Behavior)”的區(qū)別:契約是涉及雙邊的描述(契約是服務(wù)的提供者和服務(wù)消費(fèi)者進(jìn)行交互的手段),那么行為就是基于單邊的描述??蛻舳诵袨轶w現(xiàn)的是WCF如何進(jìn)行服務(wù)調(diào)用的方式,而服務(wù)端行為則體現(xiàn)了WCF的請(qǐng)求分發(fā)方式。所以服務(wù)契約會(huì)通過元數(shù)據(jù)對(duì)外發(fā)布,而WCF服務(wù)行為則對(duì)于客戶端是透明的。
對(duì)于客戶端來講,它所關(guān)心的是通過服務(wù)調(diào)用能夠獲得正確的結(jié)果,而不會(huì)關(guān)心服務(wù)端采用怎樣的模式來激活服務(wù)實(shí)例。所以,WCF實(shí)例管理通過WCF服務(wù)行為體現(xiàn),不同的實(shí)例上下文模式通過ServiceBehaviorAttribute特性指定。在ServiceBehaviorAttribute中,通過設(shè)置InstanceContextMode屬性來指定不同的服務(wù)實(shí)例上下文模式。
- 1: [AttributeUsage(AttributeTargets.Class)]
- 2: public sealed class ServiceBehaviorAttribute :
Attribute, IServiceBehavior- 3: {
- 4: //其他成員
- 5: public InstanceContextMode InstanceContextMode
{ get; set; }- 6: }
屬性InstanceContextMode的類型為System.ServiceModel.InstanceContextMode枚舉,三個(gè)枚舉值PerCall、PerSession和Single分別表示上述的三種實(shí)例上下文模式。默認(rèn)選項(xiàng)為PerSession。
- public enum InstanceContextMode
- {
- PerCall,
- PerSession,
- Single
- }
WCF服務(wù)行為的相關(guān)內(nèi)容就為大家介紹到這里。
【編輯推薦】