自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

WCF控制服務(wù)對(duì)象釋放特殊方式介紹

開發(fā) 開發(fā)工具
我們?cè)谶@篇文章中為大家介紹的WCF控制服務(wù)對(duì)象釋放的方法主要通過設(shè)置OperationBehavior.ReleaseInstanceMode 來實(shí)現(xiàn)。

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

通過設(shè)置 OperationBehavior.ReleaseInstanceMode 也能達(dá)到控制服務(wù)對(duì)象釋放的目的,一種有四種方式可供選擇。

None : 缺省參數(shù),表示不做任何處理。

BeforeCall : 如果在方法調(diào)用開始前,Session 中已經(jīng)有服務(wù)實(shí)例,則先釋放該實(shí)例,然后創(chuàng)建新實(shí)例完成方法調(diào)用。

AfterCall : 調(diào)用完方法后,釋放當(dāng)前服務(wù)實(shí)例。

BeforeAndAfterCall : 調(diào)用前釋放 Session 中的已有服務(wù)實(shí)例,然后創(chuàng)建新實(shí)例完成調(diào)用,結(jié)束調(diào)用后釋放新實(shí)例。

測(cè)試WCF控制服務(wù)對(duì)象釋放原型

 

  1. [ServiceContract(SessionMode = SessionMode.Required)]  
  2. public interface IMyService  
  3. {  
  4. [OperationContract]  
  5. void Test();  
  6. [OperationContract]  
  7. void TestBeforeCall();  
  8. [OperationContract]  
  9. void TestAfterCall();  
  10. [OperationContract]  
  11. void TestBeforeAndAfterCall();  
  12. }  
  13. [ServiceBehavior(InstanceContextMode = 
    InstanceContextMode.PerSession)]  
  14. public class MyServie : IMyService, IDisposable  
  15. {  
  16. public MyServie()  
  17. {  
  18. Console.WriteLine("Constructor");  
  19. }  
  20. [OperationBehavior]  
  21. public void Test()  
  22. {   
  23. }  
  24. [OperationBehavior(ReleaseInstanceModeReleaseInstanceMode=
    ReleaseInstanceMode.BeforeCall)]  
  25. public void TestBeforeCall()  
  26. {  
  27. Console.WriteLine("TestBeforeCall");  
  28. }  
  29. [OperationBehavior(ReleaseInstanceMode = 
    ReleaseInstanceMode.AfterCall)]  
  30. public void TestAfterCall()  
  31. {  
  32. Console.WriteLine("TestAfterCall");  
  33. }  
  34. [OperationBehavior(ReleaseInstanceMode = 
    ReleaseInstanceMode.BeforeAndAfterCall)]  
  35. public void TestBeforeAndAfterCall()  
  36. {  
  37. Console.WriteLine("TestBeforeAndAfterCall");  
  38. }  
  39. public void Dispose()  
  40. {  
  41. Console.WriteLine("Dispose");  
  42. }  
  43. }  
  44. public class WcfTest  
  45. {  
  46. public static void StartServer()  
  47. {  
  48. AppDomain.CreateDomain("Server").DoCallBack(delegate  
  49. {  
  50. ServiceHost host = new ServiceHost(typeof(MyServie), 
    new Uri("http://localhost:8080/MyService"));  
  51. host.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "");  
  52. host.Open();  
  53. });  
  54. }  

以上就是對(duì)WCF控制服務(wù)對(duì)象釋放的相關(guān)方法的介紹。

責(zé)任編輯:曹凱 來源: 豆豆網(wǎng)
相關(guān)推薦

2009-12-22 15:14:33

WCF調(diào)用

2010-02-26 15:24:27

WCF釋放服務(wù)對(duì)象

2010-02-22 14:18:34

WCF服務(wù)驗(yàn)證

2010-06-24 17:29:03

chkconfig 工

2010-02-22 17:43:19

WCF服務(wù)啟動(dòng)

2010-03-02 16:09:53

WCF框架

2009-12-04 17:35:51

WCF 服務(wù)

2009-12-15 15:19:30

Ruby訪問控制

2010-02-22 14:09:08

WCF Dispose

2013-04-01 10:36:10

2014-01-08 16:43:20

Hypervisor服務(wù)器電源消耗

2023-06-20 08:10:00

2009-11-05 16:12:09

WCF會(huì)話服務(wù)

2010-02-26 13:34:50

WCF編碼機(jī)制

2009-11-05 14:47:35

WCF Stream對(duì)

2009-02-20 13:24:32

SUSE控制服務(wù)器蔓延勢(shì)頭

2009-09-03 14:27:15

RHEL 5.0版本控制服務(wù)器紅帽

2010-03-02 09:32:54

WCF服務(wù)消息

2010-02-22 15:13:04

WCF分布式事務(wù)

2010-03-01 15:21:57

WCF死鎖
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)