溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于WCF的InstanceContextMode,與會話相關

發布時間:2020-07-21 22:57:12 來源:網絡 閱讀:499 作者:古泥瓦 欄目:編程語言

并不是所有Binding支持會話(session)功能。

比如basicHTTP就不支持session功能。

參考文章:

http://www.codeproject.com/Articles/86007/ways-to-do-WCF-instance-management-Per-call-Per

另外參考以下文字:

以下文字來自http://www.cnblogs.com/TivonStone/archive/2011/05/18/2050407.html

SessionMode:設置會話的模式(默認情況下是Allowed)
是客戶端代理與服務器之間的會話模式,同樣也有三種類型:Allowed-允許會話、NotAllowed-不允許會話、Required-要求會話(需要有支持會話的Binding支持,WsHttpBinding、NetTcpBinding等)

若要設計一個會話契約,我們建議使用Required 方式,而不是默認值Allowed。

SessionMode.Required值要求必須使用傳輸層會話,但應用層會話卻不是必要的,如果服務終結點的綁定沒有維持一個傳輸層會話,就不能為這樣的服務契約配置SessionMode.Required。這一約束條件會在裝載服務時進行驗證。但是,我們仍然可以將服務配置為單調服務,服務實例會在每次客戶端調用期間創建與銷毀實例。只有當服務被配置為會話服務時,服務實例才會存活于整個客戶端會話中。

InstanceContextMode:指定可用來處理包含在傳入信息中的調用的服務實例數(默認情況下是PerSession)

為服務端實現服務契約類的實例模式,有三種類型,分別為:

PerCall-每次服務操作調用創建一次,調用完后進行銷毀;

PerSession-同一個會話期間創建一次,客戶端代理第一次操作(IsInitiating = true)調用創建,調用代理的Close方法銷毀或者調用IsTerminating服務操作銷毀;

Single-服務只會創建一次,服務開始時創建,服務完成時銷毀

(順便說一下,Session的支持是通過建立Sessionful Channel來實現的,但是并不是所有的Binding都支持Session,比如BasicHttpBinding就不支持Session)


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女