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

WCF并發(fā)模型應(yīng)用特點簡要評比

開發(fā) 開發(fā)工具
WCF并發(fā)模型與實例模型是相互配合使用的,我們將會這對他的具體應(yīng)用方式進行一個詳細分析,從而讓大家對此加深印象。

WCF中,有很多比較重要的基礎(chǔ)知識,是需要我們初學(xué)者在學(xué)習(xí)的過程中加重注意的。今天,我們?yōu)榇蠹医榻B的就是其中一個比較重要的知識點,WCF并發(fā)模型的一些應(yīng)用特點等。希望可以給大家?guī)硪韵聨椭?t#

ServiceBehavior.ConcurrencyMode 用于控制具體服務(wù)對象的并發(fā)行為。有三種模型:

Single: 默認方式。服務(wù)實例是 single-threaded,不接受重入調(diào)用(reentrant calls)。也就是說對于同一個服務(wù)實例的多個調(diào)用必須排隊,直到上一次調(diào)用完成后才能繼續(xù)。

Reentrant: 和 Single 一樣,也是 single-threaded,但能接受重入調(diào)用,至于針對同一服務(wù)對象的多個調(diào)用依然需要排隊。在 Single 模式下,當(dāng)方法調(diào)用另外一個服務(wù)(Callback是客戶端提供的服務(wù))時,方法會阻塞,直到所調(diào)用的服務(wù)完成。如果方法不能重入,那么因無法接受所調(diào)用服務(wù)的返回消息(reply message),無法解除阻塞狀態(tài)而陷入死鎖(deadlock)。Reentrant 模式就是為了解決 Single 的這種不足,允許方法重入以完成處理過程。

Multiple: 和 Single、Reentrant 不同,Multiple 允許多個客戶端同時調(diào)用服務(wù)方法。不再有鎖的問題,同樣也不再提供同步保障(synchronization guarantees)。使用此模式時,我們必須自行使用多線程同步機制(如使用 lock 關(guān)鍵字) 來保證數(shù)據(jù)成員的讀寫安全。
使用方式如下:

  1. [ServiceBehavior(InstanceContextModeInstanceContextMode = 
    InstanceContextMode.PerSession,
    ConcurrencyModeConcurrencyMode=
    ConcurrencyMode.Single)]  
  2. public class SessionModeService : ISessionModeAllowed  
  3. {  
  4. .......  

我們可以看出,WCF并發(fā)模型和實例模型(Instance Context Mode)是配合使用的。下面簡要的分析:

1、對實例模型為PerCall,任何并發(fā)模式都一樣的效果,因為每次客戶端的調(diào)用都是一個新的實例。

2、對實例模型為PerSession,由于服務(wù)端會保存客戶端的會話狀態(tài),如果并發(fā)模型為Single,通信方式為雙向通信(Duplex),服務(wù)端無法接受重入調(diào)用,就會產(chǎn)生死鎖。所以在實例模式為PerSession,通信方式為雙向通信(Duplex)下不能選擇WCF并發(fā)模型為Single。

3、對實例模型為Single,由于服務(wù)端有且僅有一個服務(wù)實例,通信方式為雙向通信(Duplex),同樣會產(chǎn)生死鎖。

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

2010-02-23 09:34:15

WCF重載

2009-12-21 17:40:25

WCF會話

2010-02-22 16:34:17

WCF性能計數(shù)器

2010-02-23 10:25:29

2010-02-23 15:58:57

WCF Session

2010-02-25 09:36:28

WCF行為控制

2010-03-01 10:45:59

WCF集合類

2010-02-25 14:26:48

WCF特點

2010-02-06 10:29:52

C++ #define

2010-02-22 13:35:03

WCF異常處理

2010-02-23 09:51:32

WCF MTOM

2010-02-23 10:57:34

WCF Streami

2010-02-22 17:13:40

WCF會話狀態(tài)

2010-02-23 13:46:37

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

2010-03-02 18:16:45

WCF可靠性傳輸

2009-12-21 11:10:53

WCF工具

2010-02-23 16:46:47

WCF并發(fā)能力

2009-11-09 10:43:51

WCF Web編程模型

2009-12-07 14:51:57

WCF框架

2009-11-06 09:22:46

WCF應(yīng)用
點贊
收藏

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