FileStream.Dispose会立即关闭文件吗?

我有一些代码通过使用MemoryStream.WriteTo()将MemoryStream保存到FileStream来写入文件。 文件关闭后再次打开以阅读一些元数据…

这大约有80-90%的时间。 另外20%我得到一个例外,说该文件“正被另一个进程使用”。

FileStream.Dispose()不同步释放资源吗? Win32土地上有什么东西在降低,我不知道吗? 我在.Net文档中没有看到任何明显的东西。

尽可能“立即”。 由于优秀的写入 ,更新目录信息的延迟等,很容易出现滞后。它也可能是防病毒软件检查您更改的文件。

这可能是一种罕见的情况,需要调用Thread.Sleep(1) 。 但为了完全安全,您必须捕获(任何)exception并再次尝试一定次数。