我有啓用了會話的雙工WCF服務,並且我試圖避免客戶端上的故障狀態異常。如何處理啓用會話的WCF雙工服務中的故障狀態
我發現圍繞這個主題的幾個討論,但我發現所有建議重新創建客戶端代理或通道。非會議重點在啓用會話的雙工服務中。
我的這種做法的問題是,沒有在服務器端每一個會話,並且每個客戶端只有一個服務代理(單服務代理)的實例。由於它是雙工的,在客戶端,有幾個對象正在監聽該服務實例上的事件(從服務器發送到客戶端的消息)。 如果服務處於故障狀態,則不能再使用該服務。如果我丟棄該實例並創建一個新實例,我發現很難再將所有事件處理程序連接到這個新實例。
我應該包裹服務,每一個對象掛接一個事件時,存儲在列表中的處理程序(這樣我就可以重新鉤它,當服務重新創建)?似乎已丟失的代碼,很容易造成內存泄漏......
是否有剛剛重新啓動客戶端代理/通道的方式,不丟棄所有的代理實例? (我正在使用VS生成的代理)
任何想法?
感謝, MAB
壞消息,所以我將不得不編寫所有:-( 然而,這似乎是一些需要對使用啓用會話服務的每個應用程序加以解決。 有誰知道一些圖書館,我可以重用? – Matias