我一直致力於承載WCF服務netTcpRelayBinding
的Azure工作者角色。所有似乎工作良好,直到我的一個連接的主機意外斷開連接。在接下來的幾分鐘裏,這個角色總是失去穩定性,然後自我報告爲不健康。Azure服務總線綁定導致工作人員角色在發生單一故障後變得不健康
我不知道我應該在哪裏看。我已經啓用了IntelliTrace,並且我有一些例外情況,從您期望的TimeoutException
開始,但是繼續。我收到以下消息:
System.ServiceModel.CommunicationException - 已超出(00:00:10)的不活動超時。
System.InvalidProgramException - 通用語言運行時檢測到一個無效的程序
在此之後,我得到了一系列的通信異常,timeoutexceptions,然後最終整個主機崩潰與一個OutOfMemoryException的。
注意事項:我有1個客戶端連接。沒有其他電話或活動。當他意外斷開連接時,上述事件一直髮生。
試圖追趕ServiceHost的Faulted
但似乎什麼都不做(不能看到它的IntelliTrace日誌被擊中。
在哪裏我應該找任何想法?當然我並不需要重建服務好每一次這樣的事情發生嗎?
我有3個其他服務正在運行,所有basicHttpBinding,都偶爾接收來自同一客戶端的調用。但是,這些人整天都沒有錯誤或CPU使用率很高。此netTcpRelay綁定始終導致角色失敗(在客戶端意外終止的情況下)。 – 2012-02-23 22:48:21
這很奇怪。如果您尚未打開WCF跟蹤,則建議您執行並查看跟蹤查看器中生成的日誌以查找異常。如果這不能讓你在任何地方,收集任何你可以收集痕跡/日誌,將其壓縮併發送給我。我是microsoft.com的clemensv – 2012-02-23 23:10:23
我還沒有準備好給它打電話,但我可能有一個答案。這僅在啓用IntelliTrace時發生。我切換到分析確認預期的CPU,並突然無法重現。我剛剛切換回IntelliTrace,它又失敗了。以迂迴的方式,您檢查CPU的建議可能會讓我找到答案。 – 2012-02-23 23:38:18