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

WCF狀態(tài)保存不同方法介紹

開(kāi)發(fā) 開(kāi)發(fā)工具
WCF狀態(tài)保存總可以通過(guò)兩種方法來(lái)實(shí)現(xiàn),其中包括:使用SessionMode 來(lái)使Session有效化以及ServiceBehavior 里面利用參數(shù)InstanceContextMode設(shè)定等。

WCF已經(jīng)推出就深受廣大開(kāi)發(fā)人員的喜愛(ài)。它的強(qiáng)大的功能可以幫助我們輕松的打造一個(gè)跨平臺(tái)的安全性高的解決方案。在這里我們可以先從WCF狀態(tài)保存的方法來(lái)對(duì)此進(jìn)行一個(gè)分析,加深其的印象。

WCF狀態(tài)保存分為兩步:

(1) 使用SessionMode 來(lái)使Session有效化

 

  1. [ServiceContract(SessionModeSessionMode=SessionMode.Required)]  
  2. public interface ICalculator  
  3. {  
  4. [OperationContract(IsOneWay=true)]  
  5. void Adds(double x);  
  6. [OperationContract]  
  7. double GetResult();  

 

(2)ServiceBehavior 里面利用參數(shù)InstanceContextMode設(shè)定到底使用哪一種Session方式
 

 

  1. [ServiceBehavior(InstanceContextModeInstanceContextMode=
    InstanceContextMode.PerCall)]  
  2. public class CalculatorService:ICalculator  
  3. {  
  4. private double _result;  
  5. public double Result  
  6. {  
  7. get { return _result; }  
  8. set { _result = value; }  
  9. }  
  10. public void Adds(double x)  
  11. {  
  12. Console.WriteLine("The Add Method is invoked and The current 
    SessionID is {0} ",OperationContext.Current.SessionId);  
  13. this._result += x;  
  14. }  
  15. public double GetResult()  
  16. {  
  17. Console.WriteLine("The GetResult Method is invoked and The 
    current SessionID is {0} ", OperationContext.Current.SessionId);  
  18. return this._result;  
  19. }  
  20. public CalculatorService()  
  21. {  
  22. Console.WriteLine("CalculatorService object has been Created ");  
  23. }  
  24. ~CalculatorService()  
  25. {  
  26. Console.WriteLine("CalculatorService object has been destoried ");  
  27. }  

 

SessionMode 有三種值:#t#

(1)Allowed 默認(rèn)選值,允許但不強(qiáng)制使用Session

(2)Required 強(qiáng)制使用Session

(3)NotAllowed 不允許使用Session

InstanceContextMode 有三種值:

(1) Percall 為user的每一次調(diào)用生成一個(gè)SessionID

WCF狀態(tài)保存生命周期:調(diào)用開(kāi)始 ---->調(diào)用結(jié)束,這種情況和不使用Session是一樣的

(2) PerSession 為每個(gè)用戶生成一個(gè)SessionID

生命周期:客戶端代理生成--->客戶端代理關(guān)閉 和最原先的Session是一樣的

(3) Seigle 生成***的SessionID,所有的用戶共享 從host創(chuàng)建---->host 關(guān)閉,和Application 一樣

WCF狀態(tài)保存的相關(guān)內(nèi)容就為大家介紹到這里。

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-02-26 13:34:50

WCF編碼機(jī)制

2010-03-01 15:21:57

WCF死鎖

2010-02-23 09:58:21

WCF客戶端驗(yàn)證

2009-12-21 18:02:02

WCF狀態(tài)保存

2009-12-22 17:30:47

WCF Address

2010-02-04 10:13:35

C++獲得系統(tǒng)時(shí)間

2010-02-23 13:46:37

WCF數(shù)據(jù)契約

2010-09-02 10:15:46

SQL刪除

2009-12-21 16:04:45

WCF Dispose

2010-02-22 11:02:06

WCF元數(shù)據(jù)

2020-04-20 14:30:54

UbuntuLinux內(nèi)核

2020-04-24 16:09:57

UbuntuLinux內(nèi)核

2010-02-04 10:33:40

C++異常傳遞

2009-12-21 17:40:25

WCF會(huì)話

2010-02-23 17:05:38

2010-02-25 16:07:28

WCF REST

2020-04-21 17:04:12

JavaScriptHTTP請(qǐng)求開(kāi)發(fā)

2010-02-25 09:58:05

WCF配置指定Addr

2010-02-24 09:59:19

WCF服務(wù)異步代理

2012-06-08 03:36:30

C#Java
點(diǎn)贊
收藏

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