Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 分布式Winforms应用程序_C#_Vb.net_Winforms_Wcf_Tcp - Fatal编程技术网

C# 分布式Winforms应用程序

C# 分布式Winforms应用程序,c#,vb.net,winforms,wcf,tcp,C#,Vb.net,Winforms,Wcf,Tcp,我希望改变当前使用TCP消息开发的分布式winforms应用程序的体系结构,客户机直接与数据库对话。我知道这是一个糟糕的设计,我被委托改变这一点。我也是为同样的目的而被招募的 概述: 客户端使用Winforms应用程序 客户端直接从数据库加载初始数据 客户端侦听服务器(带TCP侦听器的Winforms应用程序) 如果在任何实体中进行了更新,则客户端将直接更新数据库并将消息发送到服务器,服务器再将信息发送到其他客户端。然后这些客户机将刷新数据库中的数据 使用的技术:VB.NET、实体框架、Orac

我希望改变当前使用TCP消息开发的分布式winforms应用程序的体系结构,客户机直接与数据库对话。我知道这是一个糟糕的设计,我被委托改变这一点。我也是为同样的目的而被招募的

概述:

  • 客户端使用Winforms应用程序
  • 客户端直接从数据库加载初始数据
  • 客户端侦听服务器(带TCP侦听器的Winforms应用程序)
  • 如果在任何实体中进行了更新,则客户端将直接更新数据库并将消息发送到服务器,服务器再将信息发送到其他客户端。然后这些客户机将刷新数据库中的数据
  • 使用的技术:VB.NET、实体框架、Oracle数据库和TCP侦听器

    我需要你的建议,告诉我什么是最好的解决方案/架构。我正在考虑将WCF与消息的双工通信结合使用


    提前感谢您的回复。

    使用简单的
    WinForms
    (或
    WPF
    ,如果可以)客户端、
    WCF
    服务器、
    EntityFramework
    用于
    ORM
    Oracle
    用于
    DB
    。 客户端调用服务器。服务器使用
    EF
    调用
    DB
    。这种三层设计非常常见和基本。怎么了


    PS:我建议不要使用双工通信,因为它过于复杂,而且不总是有效的。您的具体需求是什么?

    +1用于提及WPF。对于以数据为中心的应用程序来说,这比winforms更简单、更好。如何将一个客户端中所做的更改立即推送到另一个客户端?常用的方法是在服务器上进行刷新循环。要获得更快的通知,请查看WebSocket或Signal