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

WCF PreSession模式保持調(diào)用狀態(tài)

開發(fā) 開發(fā)工具
WCF PreSession模式的應(yīng)用,首先需要我們對其進行綁定,那么正確的操作方法將會在這篇文章中詳細給出,相信能給大家?guī)硪恍椭?/div>

WCF開發(fā)工具是.NET Framework 3.5的一個重要組成部件。它的出現(xiàn)在一定程度上改變了開發(fā)人員的編程習慣,為開發(fā)人員帶來了非常大幫助。在這里我們將會先了解到WCF PreSession模式的一些基本概念。

WCF PreSession模式需要綁定到支持 Session 的 Binding 對象。在客戶端代理觸發(fā)終止操作前,WCF 為每個客戶端維持同一個服務(wù)對象,因此 PreSession 模式可用來保持調(diào)用狀態(tài)。也正因為如此,PreSession 在大并發(fā)服務(wù)上使用時要非常小心,避免造成服務(wù)器過度負擔。雖然支持 Session 的 Binding 對象缺省就會啟用 PreSession 模式,但依然建議你強制指定 SessionMode.Required 和 InstanceContextMode.PerSession。

  1. [ServiceContract(SessionModeSessionMode = SessionMode.Required)]  
  2. public interface IMyService  
  3. {  
  4. [OperationContract]  
  5. void Test();  
  6. }  
  7. [ServiceBehavior(InstanceContextModeInstanceContextMode = 
    InstanceContextMode.PerSession)]  
  8. public class MyServie : IMyService, IDisposable  
  9. {  
  10. public MyServie()  
  11. {  
  12. Console.WriteLine("Constructor:{0}", this.GetHashCode());  
  13. }  
  14. [OperationBehavior]  
  15. public void Test()  
  16. {  
  17. Console.WriteLine("Test:{0}", OperationContext.Current.SessionId);  
  18. }  
  19. public void Dispose()  
  20. {  
  21. Console.WriteLine("Dispose");  
  22. }  
  23. }  
  24. public class WcfTest  
  25. {  
  26. public static void Test()  
  27. {  
  28. AppDomain.CreateDomain("Server").DoCallBack(delegate  
  29. {  
  30. ServiceHost host = new ServiceHost(typeof(MyServie), 
    new Uri("http://localhost:8080/MyService"));  
  31. host.AddServiceEndpoint(typeof(IMyService), new WSHttpBinding(), "");  
  32. host.Open();  
  33. });  
  34. //-----------------------  
  35. IMyService channel = ChannelFactory<IMyService>.
    CreateChannel(new WSHttpBinding(),   
  36. new EndpointAddress("http://localhost:8080/MyService"));  
  37. using (channel as IDisposable)  
  38. {  
  39. channel.Test();  
  40. channel.Test();  
  41. }  
  42. }  

WCF PreSession模式代碼輸出:

  1. Constructor:30136159  
  2. Test:urn:uuid:2f01b61d-40c6-4f1b-a4d6-4f4bc3e8847a  
  3. Test:urn:uuid:2f01b61d-40c6-4f1b-a4d6-4f4bc3e8847a  
  4. Dispose 

以上就是我們?yōu)榇蠹医榻B的WCF PreSession模式的基本概念。

【編輯推薦】

  1. WCF PreCal模式基本代碼示例解析
  2. WCF使用Nhibernate具體操作步驟圖解
  3. WCF枚舉實現(xiàn)技巧總結(jié)
  4. WCF異常處理各種方式詳解
  5. WCF方法重載相關(guān)實現(xiàn)技巧分享
責任編輯:曹凱 來源: 博客園
相關(guān)推薦

2010-03-02 14:06:37

WCF服務(wù)實例管理模式

2009-12-22 15:14:33

WCF調(diào)用

2010-02-23 14:24:50

WCF狀態(tài)保存

2009-12-21 18:02:02

WCF狀態(tài)保存

2010-02-22 17:13:40

WCF會話狀態(tài)

2010-02-25 10:35:17

WCF排隊調(diào)用

2009-12-21 14:10:26

WCF異步調(diào)用

2009-07-27 17:54:39

WCF服務(wù)ASP.NET

2011-04-01 10:40:53

WCFiPhone調(diào)用

2009-11-09 10:50:30

WCF異步調(diào)用

2011-04-28 15:18:59

2009-12-22 15:55:10

WCF事務(wù)

2020-11-04 08:54:54

狀態(tài)模式

2010-03-02 16:22:31

WCF狀態(tài)應(yīng)用

2009-12-22 10:16:54

WCF服務(wù)狀態(tài)

2011-05-16 09:30:30

jQueryWCF

2009-11-06 15:54:15

WCF異步調(diào)用

2009-06-12 14:32:53

WCFJSON對象jQuery

2022-07-05 09:27:35

Iframe前端平臺架構(gòu)

2009-11-06 13:23:27

WCF模式
點贊
收藏

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