在Windows窗体中轮询数据库的替代方法?

时间:2016-06-23 13:36:15

标签: c# winforms visual-studio-2010 timer .net-4.0

我们有两个Windows窗体:FormSqlUpdaterFormReaderFormSqlUpdater更新SQL表,并从同一个SQL表中读取FormReader。这意味着FormReader需要不断轮询数据库;当FormSqlUpdater更改SQL表时,更改会通过TextBox中的FormReader反映出来。我希望尽可能将其作为实时

许多建议都是使用Timer。考虑到这需要尽可能实时,我有一种感觉,如果我设置Timer过于频繁地轮询数据库(即每三秒),那么这种滞后将被用户注意到。此外,如果查询由于某种原因需要太长时间,则用户也会注意到这种延迟。如果我将Timer设置太长时间,则表单不会被同步。无论哪种方式,我都不会对Timer感到太舒服。

所以我在考虑使用FileSystemWatcher中的FormReader;当FormSqlUpdater更新数据库时,它将写入文本文件。 FileSystemWatcher FormReader注意到文本文件已更改后,FormReader将自行更新。

至少对我而言,似乎以这种方式使用FileSystemWatcher可能是更好的选择。

你有什么想法?

感谢。

0 个答案:

没有答案