我目前正在開發即時消息應用程序。一旦客戶端連接到服務器併發送一個味精,它工作得很好。第二個客戶端連接,兩個客戶聊天,一切都完美。當兩個客戶端同時發送一個消息時就會出現問題。然後兩個客戶端都凍結(在調試中我得到一個超時),但聊天中的其他客戶端顯示的消息很好。WCF多個客戶端
這是服務器的行爲:
[ServiceBehavior(ConcurrencyMode = ConcurrencyMode.Multiple, InstanceContextMode = InstanceContextMode.Single)]
的app.config行爲:
<behavior name="Behave">
<serviceThrottling maxConcurrentCalls="100"
maxConcurrentSessions="100"
maxConcurrentInstances="100" />
</behavior>
我是一個新手,當談到WCF,我不知道我完全理解它。我嘗試過改變東西,但似乎沒有任何幫助。任何形式的幫助將不勝感激。 如果需要進一步的代碼,我會根據要求提供。
你是否嘗試更改InstanceContextMode = InstanceContextMode.PerCall? –
@NadeemKhoury我已經試過了,但我需要使用單身。如果我使用PerCall或PerSession,取決於兩者中的哪一個,那麼我的應用程序會變得混亂。會發生什麼情況是,2個客戶端(或任何其他客戶端)將無法聊天,因爲每個客戶端都會創建一個新對象。他們能夠發送消息,即使他們中的任何一個都不會被另一個人看到。我不確定我的解釋是否足夠理解應用程序的行爲,所以請讓我知道它是否不適用。 – Chogart
翻遍一切。這只是2位客戶凍結的UI。這就是它。我認爲問題在於同步。 – Chogart