2012-09-12 62 views
2

我有一個WCF Web服務託管在Windows服務中。WCF服務無法打開 - 客戶端調用過多

的服務使用

<ServiceBehavior(ConcurrencyMode:=ConcurrencyMode.Multiple, 
InstanceContextMode:=InstanceContextMode.PerCall, 
UseSynchronizationContext:=False)> 

我創建了一個測試客戶端,其在一次產生50個線程和和我開始他們馬上,在WCF所有查詢的操作以下屬性(VB),被配置服務。前30個開頭(client.open())工作,但事後我得到一個錯誤消息,我的客戶端打開無法完成,因爲在嘗試打開服務時出現超時,因此我得到一個EndPointNotFoundException 。 (如果有問題,我打電話的操作都是同步的。)

我可以期待這種行爲,因此只能忍受這些例外,還是必須看看我的一些設置,或任何其他設置? (我正在使用NetTcpBinding。)

我看到的是客戶端同時處理一次創建的線程的請求,因此上述設置具有使服務在多用戶處啓用-same-時間。

但理想情況下,我不會超時例外。相反,我希望客戶等待更長的時間來獲得他們的迴應,而不是超時。

任何想法?

謝謝大家!

+0

如果您希望客戶端等待更長時間,則可以更改客戶端的開放超時值。 – Paciv

回答

1

檢查設置,如這些:

<behavior name="CommonServices_Behavior"> 
    <serviceThrottling maxConcurrentCalls="100" maxConcurrentSessions="50" 
    maxConcurrentInstances="50" /> 
</behavior> 

我似乎記得,有些值在machine.config文件中已設置的默認值。還有一個MaxConnections value to check for NetTcpBinding

+0

謝謝,我會看看這些設置。 – spse

相關問題