簡版: 當我使用ChannelFactory在使用雙工通信的客戶端上創建一個通道時,是否需要保持通道打開才能接收回調或者我可以調用ChannelFactory.Close()?雙工通信需要一個開放通道嗎?
長版本: 我正在開發我的第一個WCF服務,並創建了自己的ClientProxy類,它實現了幾個不同的服務並將其合併爲一個。我使用ChannelFactory來創建每個通道,並且我在網上的一般閱讀已經表明我應該緩存ChannelFactory,但我應該只在需要時打開和關閉實際通道。
因此,我打電話給ChannelFactory.Open打開一個通道並執行雙工操作(稍後調用回調的單向操作)。我是否應該在請求操作後調用ChannelFactory.Close來關閉此通道,如果我這樣做,我仍然會收到回調嗎?
基本測試似乎表明我會收到回調,如果我關閉連接,但我只是想確定。另外,這種對ChannelFactory進行緩存的方法是否正確?
感謝