2012-06-13 75 views
3

首先,我对这个看起来很愚蠢的问题表示歉意,我对数据库不太了解。多用户数据库桌面应用程序设计

我正在重新设计C#中的桌面应用程序,以便通过基本上是高度专业化的票务跟踪系统的本地网络使用。本质上,当用户启动应用程序时,系统会询问他们的凭据以访问系统,然后应用程序将向中央数据库查询数据(当前是本地计算机上运行的MySQL服务器),并将其显示在屏幕上。

我的问题是如果四个用户连接并且两个用户输入新数据,让每个用户知道新数据的最有效方法是什么?简单地查询数据库并使用定时器上的新数据更新应用程序?或者会创建一个服务器应用程序来坐在用户和数据库服务器之间来执行查询本身并通知每个连接的用户更新的数据?

回答

1

查看全部取决于实时通知客户关于数据库更改的重要性。如果您的客户在延迟一两分钟时间内没有问题,那么您可以采用计时器方式。但是如果他们真的希望数据是实时的(延迟小于1-2秒),那么请选择其他方法。创建一个单独的服务,轮询数据库并通知客户端应用程序进行任何更新。为此,您可以使用套接字列表器。 希望帮助!

1

4位用户?在本地局域网?使用简单的索引查询?只是从客户端调查数据库。在应用程序启动时启动一个线程,并让它每2-5秒运行一次查询,然后通过适当的后台线程更新.NET中的GUI来通知用户。

这很直截了当,不要过度去想它。 “最难”的部分是用户的异步通知(取决于您的GUI布局和所需的操作可能不是什么大问题,因此是引号)。

相关问题