新聞中心
相信大多數(shù)使用過WCF開發(fā)工具的朋友們都會運用一個比較直接的方式來進行WCF服務的對象釋放。那么,今天我們將要給大家介紹另外一種比較特殊的應用,希望可以增加大家在實際應用中的選擇應用。#t#

在營口等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供做網(wǎng)站、網(wǎng)站制作 網(wǎng)站設(shè)計制作定制設(shè)計,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,營銷型網(wǎng)站建設(shè),外貿(mào)營銷網(wǎng)站建設(shè),營口網(wǎng)站建設(shè)費用合理。
通過設(shè)置 OperationBehavior.ReleaseInstanceMode 也能達到控制服務對象釋放的目的,一種有四種方式可供選擇。
None : 缺省參數(shù),表示不做任何處理。
BeforeCall : 如果在方法調(diào)用開始前,Session 中已經(jīng)有服務實例,則先釋放該實例,然后創(chuàng)建新實例完成方法調(diào)用。
AfterCall : 調(diào)用完方法后,釋放當前服務實例。
BeforeAndAfterCall : 調(diào)用前釋放 Session 中的已有服務實例,然后創(chuàng)建新實例完成調(diào)用,結(jié)束調(diào)用后釋放新實例。
測試WCF控制服務對象釋放原型
- [ServiceContract(SessionMode = SessionMode.Required)]
- public interface IMyService
- {
- [OperationContract]
- void Test();
- [OperationContract]
- void TestBeforeCall();
- [OperationContract]
- void TestAfterCall();
- [OperationContract]
- void TestBeforeAndAfterCall();
- }
- [ServiceBehavior(InstanceContextMode =
InstanceContextMode.PerSession)]- public class MyServie : IMyService, IDisposable
- {
- public MyServie()
- {
- Console.WriteLine("Constructor");
- }
- [OperationBehavior]
- public void Test()
- {
- }
- [OperationBehavior(ReleaseInstanceModeReleaseInstanceMode=
ReleaseInstanceMode.BeforeCall)]- public void TestBeforeCall()
- {
- Console.WriteLine("TestBeforeCall");
- }
- [OperationBehavior(ReleaseInstanceMode =
ReleaseInstanceMode.AfterCall)]- public void TestAfterCall()
- {
- Console.WriteLine("TestAfterCall");
- }
- [OperationBehavior(ReleaseInstanceMode =
ReleaseInstanceMode.BeforeAndAfterCall)]- public void TestBeforeAndAfterCall()
- {
- Console.WriteLine("TestBeforeAndAfterCall");
- }
- public void Dispose()
- {
- Console.WriteLine("Dispose");
- }
- }
- public class WcfTest
- {
- public static void StartServer()
- {
- AppDomain.CreateDomain("Server").DoCallBack(delegate
- {
- ServiceHost host = new ServiceHost(typeof(MyServie),
new Uri("http://localhost:8080/MyService"));- host.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "");
- host.Open();
- });
- }
- }
以上就是對WCF控制服務對象釋放的相關(guān)方法的介紹。
當前標題:WCF控制服務對象釋放特殊方式介紹
瀏覽路徑:http://m.fisionsoft.com.cn/article/coighop.html


咨詢
建站咨詢
