【发布时间】:2012-11-05 17:39:42
【问题描述】:
我的程序中似乎有一个 Heisenbug。我需要导出一个 Xml 文件,然后重新导入它。问题是有时在 Xml 文件完成保存之前,程序会继续到下一行尝试重新导入它,因为它没有完成保存,应用程序会崩溃。当我调试它时,有足够的时间保存文件,因此程序不会崩溃。
我可以使用Thread.Sleep,但在速度较慢的计算机上,如果时间过长,它仍可能会崩溃。
我正在使用XmlDocument.Save 来保存文件。我想知道是否有办法在文件完全保存时实现某种回调。
【问题讨论】:
-
Save在文件保存之前不应返回。它可能仍在通过操作系统缓存刷新,但任何访问它的东西都应该仍然有效。你能制作一个简短但完整的程序来演示这个问题吗? -
这是以前的问题,与 SO 类似。 [stackoverflow.com/questions/2678079/…[1]:stackoverflow.com/questions/2678079/…