读取和写入时间关键数据的最佳方式?

时间:2015-08-25 23:15:17

标签: c# sql windows time-critical

我有.txt个文件,每隔5-10秒就被软件中的数据覆盖,然后我有一个wpf应用程序,每秒读取并显示这些数据。以下是我的问题:

目前,文本文件存储在服务器上,并且有许多用户运行此应用程序来查看此“实时”数据。 但是,由于:

An I/O bug in windows

文件会定期“锁定”并导致所有应用程序锁定(甚至无法在任务管理器中关闭)。

因此我决定将数据从文本文件复制到SQL,但是根据我的理解,无法覆盖SQL表中的数据。必须删除表并创建一个新表。这导致10秒以上的延迟更新数据,这是不可能发生的。

我的问题是,有一种方法可以从某个地方快速读取和写入数据,无论是数据库等等。我不知道还能在哪里转。

我的约束:

我坚持使用Server 2008,必须使用这些文本文件,我必须在我的wpf应用程序上显示它。有没有人对可以处理这种类型的I / O的方法有任何建议?

非常感谢所有帮助,我完全失去了..

1 个答案:

答案 0 :(得分:0)

您似乎没有丰富的数据库技术经验,所以让我提出一些不同的建议:

string text = System.IO.File.ReadAllText(path);

然后,也许您可​​以使用文本并使用它执行所需操作,将其转储到队列中以便在应用程序的另一部分中执行操作。

ReadAllText有一些抛出的异常:

https://msdn.microsoft.com/en-us/library/ms143368(v=vs.110).aspx

我正在寻找UnauthorizedAccessException,正如你所说,当多个用户访问它时,该文件似乎已锁定。