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