最佳同步策略

时间:2008-10-30 17:25:57

标签: c#

我有一个简单的应用程序,它会在每次单击按钮时写入xml文件。完成后,我很快就会阅读Xml文件(如下面几行,没有任何方法可以介入其中)。

当应用程序第一次运行时,xml文件被写入/读取正常,但如果我再次按下该按钮,我会得到“另一个进程正在使用该文件”。我正在使用我的流完成整个刷新,关闭,处理事务,并打算使用ProcessMon来检查保存文件的进程。

以编程方式,避免此问题的最佳策略是什么?

由于

3 个答案:

答案 0 :(得分:1)

只需确保写入文件,然后使用刚刚写入文件的内存数据 你不需要再读它。

答案 1 :(得分:0)

最简单的解决方案是锁定访问xml文件的所有代码

object locker = new Object();

....

lock (locker)
{
     //write xml file
}

答案 2 :(得分:0)

我想我已经在其他地方回答了这个问题。在关闭之前调用Flush()方法,并使用单独的FileStream对象。我认为FileStream对象是问题,这就是为什么写完后Flush()总是好的。

但是,读者没有相同的方法。这就是我使用FileSTream对象的原因。

Rudedog

相关问题