如何在执行下一行代码之前等待保存文件?

时间:2012-11-05 17:39:42

标签: c# callback save heisenbug

  

可能重复:
  Is XMLDocument.Save an atomic operation?

我的程序中似乎有一个Heisenbug。我需要导出一个Xml文件,然后重新导入它。问题是,有时在Xml文件完成保存之前,程序将继续到下一行尝试重新导入它,因为它没有完成保存,应用程序将崩溃。当我调试它时,有足够的时间来保存文件,这样程序就不会崩溃。

我可以使用Thread.Sleep,但在速度较慢的计算机上,如果耗时太长,它可能仍会崩溃。

我正在使用XmlDocument.Save来保存文件。我想知道是否有办法在文件完全保存时实现某种回调。

1 个答案:

答案 0 :(得分:4)

怀疑是杀毒软件。许多病毒扫描程序编写得不好,并在关闭文件时将其锁定,防止任何程序打开文件几秒钟。

看到这个问题: