2008-10-29 69 views
5

方法我有一個使用WCF服務的一些數據插入到後端數據庫客戶端應用程序。客戶端應用程序將根據事件調用服務(可以是每小時或每秒)。最佳WCF客戶

我不知道什麼是調用該服務的最佳途徑。

我應該建立溝通渠道,並保持它打開所有的時間,或者我應該在每次通話後關閉通道,並重新創建它?

+0

一個提示:打電話給你的客戶對象的「主機」和你的主機對象的「客戶」。當你在客戶端時,你正在尋找聯繫主機,而不是「IClientSideComms」。 – Will 2008-10-29 12:47:49

回答

5

的第一個問題是你的服務器是否需要直接維護有關客戶的任何狀態(即你在幹什麼會話樣的交易?)如果你是,你需要能夠管理服務器如何保存的信息通信。

我對你的問題的初步看法是,如果沒有必要讓連接處於打開狀態,那麼每次關閉連接並按需重新創建連接。這樣可以避免連接在通話之間進入故障狀態的問題。創建和銷燬連接的開銷很小,並且它可能(可能)爲調試節省了大量時間,當出現問題時。

1

我想你可能想要實現一個Keep Alive pattern,如果超過保持活動持續時間且沒有任何通信活動,可配置持續時間以通知您的基礎機制關閉連接。有關創建WCF主機和客戶端接口和實現