2010-03-16 274 views
2

我們創建了一個WCF服務,該服務託管在處理身份驗證請求的Windows服務中。WCF錯誤 - 操作超時

的唯一行爲是:

ServiceMetadataBehavior smb = new ServiceMetadataBehavior(); 
smb.HttpGetEnabled = true; 
selfHost.Description.Behaviors.Add(smb); 

我們的客戶能夠再進行身份驗證成功地10次,我們得到

操作超時

當我們增加錯誤MaxConcurrentSessions = 50,那麼在我們看到錯誤之前,我們的客戶端可以驗證50次。很明顯,會話在身份驗證呼叫後沒有被關閉,任何人都可以說出爲什麼會發生這種情況?

+0

向我們展示了您如何致電驗證服務的客戶端!最有可能的是,你打開客戶端代理並撥打電話,但從不關閉它.... – 2010-03-16 12:48:56

回答

2

當你說「客戶」時,你是指多個獨立客戶,或者是同一個客戶(即單一進程)做50個請求?什麼是您的服務的實例化模式,以及您使用的是什麼綁定?

乍一看,我會說你的客戶正在泄漏會話,因爲沒有正確處理客戶端代理,並且實例化模式正在阻礙。