新聞中心
WCF中有很多比較高深的應(yīng)用技巧是值得我們在學(xué)習(xí)和實踐的過程中去深入研究的。那么,今天我們就先從WCF實例停用開始了解,從而使我們對這一開發(fā)工具有一個更加深入的了解程度。#t#

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價值的長期合作伙伴,公司提供的服務(wù)項目有:域名注冊、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、平和網(wǎng)站維護、網(wǎng)站推廣。
WCF實例停用只針對會話服務(wù)而言。單例服務(wù)雖然也可以應(yīng)用,但卻無效。
“會話實際要做的不僅是關(guān)聯(lián)客戶端消息,同時還要關(guān)聯(lián)托管了服務(wù)的上下文。啟動會話時,宿主會創(chuàng)建一個新的上下文。會話終止時,上下文也隨之而終止。默認(rèn)情況下,上下文的生命周期與發(fā)布的服務(wù)實例的生命周期相同。然而,出于優(yōu)化的目的,WCF為服務(wù)設(shè)計者提供了一個分離兩種生命周期的選項,該選項允許WCF獨立地停用實例,而不必依賴于它的上下文。實際上,WCF還允許不包含實例的上下文存在。”
這種實例管理技術(shù)稱為上下文停用(Context Deactivation)??刂粕舷挛耐S玫淖畛R娹k法是通過OperationBehavior特性的ReleaseInstanceMode屬性:
- public enum ReleaseInstanceMode
- {
- None, BeforeCall, AfterCall, BeforeAndAfterCall,
- }
- [AttributeUsage(AttributeTargets.Method)]
- public sealed class OperationBehaviorAttribute : Attribute,...
- {
- public ReleaseInstanceMode ReleaseInstanceMode
- {
- get;set;
- }
- //More members
- }
“通常,我們只需要將WCF實例停用應(yīng)用到部分服務(wù)方法上,而不是全部方法;或者為不同的方法設(shè)置不同的值?!崩纾?/p>
- class MyService : IMyContract,IDisposable
- {
- [OperationBehavior(ReleaseInstanceModeReleaseInstanceMode =
ReleaseInstanceMode.AfterCall)]- public void MyMethod( )
- {
- ...
- }
- public void MyOtherMethod( )
- {
- ...
- }
- public void Dispose( )
- {
- ...
- }
- }
以上就是對WCF實例停用的相關(guān)內(nèi)容的介紹。
網(wǎng)頁標(biāo)題:WCF實例停用基本應(yīng)用技巧分享
當(dāng)前鏈接:http://www.dlmjj.cn/article/dpspccc.html


咨詢
建站咨詢
