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

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


咨詢
建站咨詢
