成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

WCF狀態應用基本概念簡單描述

開發 開發工具
我們在這篇文章中,主要針對WCF狀態應用的相關設定以及應用方法做了詳細介紹。相信對于又需要的朋友肯定會從中獲得一些幫助。

WCF開發工具中,對于狀態的應用是一個比較基礎的應用技術。我們需要積累這方面的經驗來達到一個熟練應用的地步。在接下來的文章中,我們首先為大家介紹一下WCF狀態應用的一些基本概念。

WCF狀態應用的設定是由以下兩步完成的,首先要在ServiceContract里面利用參數SessionMode來使Session有效化,具體代碼為

  1. [ServiceContract(SessionModeSessionMode=SessionMode.Required)]; 

其次是在ServiceBehavior里面利用參數InstanceContextMode來設定到底使用那一種Session方式,具體代碼如下

  1. [ServiceBehavior(InstanceContextModeInstanceContextMode=
    InstanceContextMode.PerSession); 

 

WCF支持的SessionMode有如下三種:#t#

◆SessionMode.Allowed:默認選項,允許但不強制使用Session。

◆SessionMode.NotAllowed:不允許使用Session。

◆SessionMode.Required:強制使用Session。

WCF支持的InstanceContextMode也有三種:

◆InstanceContextMode.PerCall:為User的每一次調用生成一個SessionID,Session生命周期:調用開始->調用結束。(注:這種方式和不使用Session功能應該是一樣的)

◆InstanceContextMode.PerSession:為每一個用戶生成一個SessionID。Session生命周期:客戶端代理生成->客戶端代理關閉。(這種方式最像原先的Session)

◆InstanceContextMode.Single:生成一個唯一的SessionID,所有用戶共用,生命周期:Host創建->Host關閉。(應用設計模式中的Singleton模式,像原先的Application)

WCF狀態應用的實例是以PerSession為例,當然,這里的Session和原來的Session還是有一些區別的,具體如下:

(1)并沒有一個顯示的Session容器供存放數據用;

(2)Session的銷毀和原先的Session不相同。

WCF中的Session可以在以下三種情況下銷毀:

(a)利用函數銷毀,如文中示例,在函數ReleaseSession()上用[OperationContract(IsTerminating=true)]表明客戶端可以通過調用該函數銷毀Session。

(b)客戶端代理關閉,Session也會自動銷毀。

(c)通過TimeOut時間銷毀,默認是10分鐘,這個時間客戶端和服務器端都可以設定,以較短的時間為有效時間。
因此,個人認為,WCF中的Session的可控性更強一些。

在示例中還有一個問題要注意,在服務器端函數捕捉到異常之后,一定要通過throw new FaultException(ex.Message);的形式將錯誤拋到客戶端,否則的話,客戶端調用用的Channel將會被堵塞,因此就無法繼續調用釋放資源的函數了。

要向客戶端拋異常必須設定WebConfig項,具體代碼如下:

 

  1. < configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> 
  2. < system.serviceModel>< services> 
  3. < !-- Before deployment, you should remove the returnFaults 
    behavior configuration to avoid disclosing information in exception messages --
    > 
  4. < service name="MyService" behaviorConfiguration="SessionTrans"> 
  5. < endpoint contract="IMyService" binding="wsHttpBinding"/>< /service>
  6. < /services>< behaviors> 
  7. < serviceBehaviors> 
  8. < behavior name="SessionTrans" returnUnknownExceptionsAsFaults="True"> 
  9. < serviceMetadata httpGetEnabled="true" /> 
  10. < serviceDebug includeExceptionDetailInFaults="true" /> 
  11. < /behavior>< /serviceBehaviors>< /behaviors>< /system.serviceModel> 
  12. < system.web>< compilation debug="true"/>< /system.web>< /configuration>  

以上介紹的WCF狀態應用的相關知識供大家學習參考。

責任編輯:曹凱 來源: qqread.com
相關推薦

2009-12-22 10:16:54

WCF服務狀態

2009-12-21 10:27:52

WCF基本概念

2010-02-23 16:32:29

WCF服務

2010-02-24 17:17:04

WCF宿主環境

2010-03-02 13:14:38

WCF MSMQ隊列

2010-03-01 16:25:07

WCF體系架構

2009-12-21 15:33:07

WCF集合元素

2010-03-01 14:50:30

WCF行為類型

2010-03-01 18:04:35

WCF配置綁定

2021-11-02 08:41:44

Kubernetes Nginx部開源

2010-02-25 14:46:31

2010-03-02 11:10:43

WCF標準終結點

2009-12-21 14:37:14

2010-03-01 16:41:04

WCF數據表

2009-12-21 16:52:02

WCF序列化

2010-03-01 17:57:11

WCF緩存機制

2011-03-28 11:05:17

ODBC

2014-04-16 15:11:19

Spark

2009-03-20 11:46:10

MGCP協議網關

2012-09-11 14:39:03

Moosefs
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产一区影院 | 国产a视频 | 国产一级免费视频 | 欧美一级欧美三级在线观看 | 羞羞视频网 | 污免费网站 | 国产成人精品免费视频大全最热 | 九九99久久| 99精彩视频 | 欧美视频一区 | 亚洲国产精品成人综合久久久 | 日韩免费福利视频 | 天天舔天天 | 奇米超碰在线 | 91精品国产91久久久久久吃药 | 日韩精品在线播放 | 国产成人精品午夜视频免费 | 成人精品毛片国产亚洲av十九禁 | 一区二区三区高清 | 日韩欧美一区二区三区免费观看 | 欧美成人a∨高清免费观看 欧美日韩中 | 一二三区av | 日日操视频| 亚洲成人一区二区 | 成人在线免费观看 | 一区二区成人 | 国产在线精品区 | 国产做a爱免费视频 | 亚洲第一av网站 | 91在线最新 | av黄色在线观看 | 伊人狠狠干| 久久精品天堂 | 激情欧美日韩一区二区 | 欧美日韩精品一区二区三区四区 | 欧美精品中文字幕久久二区 | 自拍偷拍第一页 | 亚洲男女视频在线观看 | 色狠狠桃花综合 | 亚洲国产一区视频 | 福利网站在线观看 |