我有一個運行在ASP.NET 3.5上的REST服務,並且我有來自客戶端的多個併發異步調用來擊中WCF服務。它們都是序列化的(順序的)而不是並行調用。這裏是我的設置WCF和ASP.NET併發問題
InstanceContextMode = InstanceContextMode.PerSession
ConcurrencyMode = ConcurrencyMode.Multiple
web.config中 - 限制值
<serviceThrottling maxConcurrentCalls="64" maxConcurrentInstances="64" maxConcurrentSessions="64"/>
沒有會話中的代碼編寫。
我錯過了什麼讓我的WCF併發?
我想使用異步調用不會強制客戶端的併發,而是確保您不會等待響應。你嘗試過'Tasks.Parrallel'嗎? http://msdn.microsoft.com/en-us/library/dd460717.aspx – faester
向我們展示您的客戶端代碼:您如何管理代理以及如何調用服務?順便說一下,在混合PerSession和ConcurrencyMode.Multiple時要非常小心,這就要求你必須使用鎖和whatnot手動同步訪問會話實例狀態。 – Jeroen
客戶端代碼通過Sencha觸摸代碼。代理由sencha管理。出於測試目的,我有PerCall和ConcurrencyMode.Single來保證每個調用的不同線程。 –