2014-01-23 43 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