我有一個WCF應用程序,有幾千個客戶端連接到在IIS下運行的一對服務。我注意到,其中一些客戶進入掛起狀態,我試圖重現這一點。WCF客戶端應用程序掛起 - 需要repro通知
當第一次發現此問題時,我沒有修改限制配置,並將服務設置爲ConcurrencyMode.Single。我注意到的一件事是服務器上的IISReset導致許多客戶端掛起。然而,在我的本地機器上運行鍼對IIS的客戶端上拉同樣的特技似乎不會導致問題。
我在野外只捕獲了一次,但當時沒有啓用調試。我目睹的症狀是,客戶似乎試圖打開與Web服務器的連接,但沒有成功。在使用Fiddler進行監控時,我看不到嘗試到達服務端點。顯然這讓我懷疑客戶端代理。
對於發生了什麼,我有一個非常堅定的預感 - 即當服務拋出一個異常時,我一直使用「Close()」而不是「Abort()」,我相信這會導致通道變爲損壞。但考慮到努力得到一個新版本,我需要通過讓我自己的機器上的客戶端掛起來重現此問題,然後才能開始更改代碼。
我應該從哪裏開始?
由於提前,
roufamatic