3

首先,对于我对数据库不是很擅长的看似愚蠢的问题,我深表歉意。

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

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

4

2 回答 2

1

看到这一切取决于实时通知客户有关数据库更改的重要性。如果您的客户对一两分钟的延迟没有问题,您可能会选择计时器方法。但如果他们真的希望数据是实时的(延迟小于 1-2 秒),请选择另一种方法。创建一个单独的服务来轮询数据库并通知客户端应用程序进行任何更新。为此,您可以使用套接字侦听器。希望有帮助!

于 2012-06-13T04:01:17.273 回答
1

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

这很简单,不要想太多。“最难”的部分是用户的异步通知(这取决于您的 GUI 布局和所需的操作可能也不是什么大问题,因此引用)。

于 2012-06-13T04:12:01.483 回答