2014-01-23 41 views
0

我期待改變使用TCP消息開發的分佈式winforms應用程序的當前體系結構,並且客戶機直接與數據庫對話。我知道這是一個糟糕的設計,我被委託改變這一點。我一直在招聘。概述分佈式Winforms應用程序

位:

  1. 客戶端使用的WinForms應用
  2. 客戶端負載從數據庫的初始數據直接
  3. 客戶端偵聽服務器(WinForms應用程序與TCP監聽)
  4. 如果更新是在任何一個實體中創建的,客戶端將直接更新數據庫並將消息發送給服務器,服務器又將信息發送給其他客戶端。然後,這些客戶端將刷新數據庫中的數據。

使用的技術:VB.NET,實體框架,Oracle數據庫和TCP偵聽器。

我需要你所有的建議,關於什麼是最好的解決方案/架構相同。我在考慮使用WCF與雙工通信的消息。

非常感謝您的回覆。

回答

1

使用簡單WinForms(或WPF如果可以的話)客戶端,服務器WCFEntityFrameworkORMOracleDB。 客戶端調用服務器。服務器使用EF調用DB。這3層設計是相當普遍和基本的。它出什麼問題了? PS:我建議不要使用雙工通信,因爲它過於複雜,並不總是工作。您對此有何特定需求?

+1

提及WPF的+1。對於以數據爲中心的應用程序而言,它比**更簡單,更好。 –

+0

如何將一個客戶端所做的更改立即推送給另一個客戶端? –

+0

常用的方法是有一個刷新週期輪詢服務器。爲了更快地通知WebSockets或SignalR – i3arnon