2009-12-07 87 views
3

我做小型的基於遠程的項目學習遠程,也強調要好的做法,而這樣做,以免我平時開發的壞習慣習慣。.NET遠程處理:裹用戶對象VS多個遠程渠道

還有就是利用用戶創建的插件服務。每個插件都被隔離在自己的應用程序域中。此外,還有一個客戶端應用程序可以連接到服務並與之交互。

有服務客戶端的通信和服務插件進行通信,但沒有方便的插件,客戶溝通渠道。因此,由插件創建的任何對象必須先包裝在服務定義的對象中,然後才能通過客戶端(否則由於缺少通道接收器而存在異常)。

如果這是有道理的,我的問題是:我應該繼續這種模式或我應該創建插件和客戶端應用程序域允許插件實例化對象去客戶端應用程序之間的通道?

感謝您對這個主題的任何教育!

回答

3

我不能給你明確的答案,沒有聽到更多關於你的應用程序,因此,儘管這個問題可以說是主觀的,這裏是我的主觀回覆:

這似乎是合理的服務器聚合連接的插件,以及客戶端只維護一個到服務器的通道。這簡化並整合在許多方面的解決方案:

  • Access Control可我做透明客戶端
  • 簡化客戶端各地
  • 在服務器才執行
  • 插件機制如果客戶端和服務器位於不同的計算機上,那麼您可能更希望客戶端只與服務器通信,而不直接與任何插件通信,因爲它可能需要在服務器計算機上打開幾個連接/端口(對於每個插件),此可以成爲一個問題,如果你有防火牆等

另一方面,它可能是每一個信封插件對象在服務器對象的一個​​麻煩。

+0

你關於不同的機器和防火牆的觀點是我沒有考慮過的。包裝服務器對象中的每個對象_將是一個巨大的麻煩,但它也將是一個惡夢,試圖協調未知數量的可能使用的端口。 – redman