WCF 的 Service Instance模式和併發處理

szjay發表於2013-11-20

WCF 的 Service Instance(例項)有三種模式

PerCall:每一次呼叫都建立一個例項,每一次呼叫結束後回收例項。此模式完全無狀態。

PerSession:呼叫者開啟Channel時建立例項,當呼叫者關閉Channel時關閉例項,在關閉前,所有的呼叫都是同一個例項。此模式有Session,生命週期由呼叫者(通常是客戶端)決定。

Singleton:單例模式,在Service掛到Host上時,例項就已經建立了,此後所有的呼叫都使用此例項,且客戶端關閉Channel時,並不回收例項。

 

WCF預設使用PerSession。

 

併發處理

PerCall:不區分呼叫者,N次請求則建立N個例項處理。

PerSession:N個呼叫者則建立N個例項處理。

Singleton:一個例項處理N個呼叫者的N次請求,同一時刻只有一個請求被處理,當前請求未處理完又有新請求時,自動佇列請求。

 

相關文章