我有一些代码通过使用MemoryStream.WriteTo()将MemoryStream保存到FileStream来写入文件。文件关闭后再次打开以阅读一些元数据......
这大约有80-90%的时间。另外20%我得到一个例外,说该文件“正被另一个进程使用”。
FileStream.Dispose()是否不同步释放资源?我不知道Win32土地上有什么东西在降低吗?我在.Net文档中没有看到任何明显的内容。
答案 0 :(得分:6)
尽可能“立即”。由于优秀写入,更新目录信息等延迟,很容易出现滞后。它也可能是防病毒软件检查您更改的文件。
这可能是一种罕见的情况,需要Thread.Sleep(1)
。但为了完全安全,你必须捕获(任何)异常并再次尝试一定次数。