WCF 的 Service Instance(例項)有三種模式
PerCall:每一次呼叫都建立一個例項,每一次呼叫結束後回收例項。此模式完全無狀態。
PerSession:呼叫者開啟Channel時建立例項,當呼叫者關閉Channel時關閉例項,在關閉前,所有的呼叫都是同一個例項。此模式有Session,生命週期由呼叫者(通常是客戶端)決定。
Singleton:單例模式,在Service掛到Host上時,例項就已經建立了,此後所有的呼叫都使用此例項,且客戶端關閉Channel時,並不回收例項。
WCF預設使用PerSession。
併發處理
PerCall:不區分呼叫者,N次請求則建立N個例項處理。
PerSession:N個呼叫者則建立N個例項處理。
Singleton:一個例項處理N個呼叫者的N次請求,同一時刻只有一個請求被處理,當前請求未處理完又有新請求時,自動佇列請求。