FileStream.Dispose是否立即关闭文件?

问题描述

| 我有一些通过使用MemoryStream.Writeto()将MemoryStream保存到FileStream来写入文件代码文件关闭后,将再次打开以读取一些metdata。 大约有80%-90%的时间有效。另外20%我得到一个例外,说该文件“正在被另一个进程使用”。 FileStream.dispose()是否不会同步释放资源?我不知道的Win32区域中发生了什么事情?我没有在.Net文档中看到任何明显的内容。     

解决方法

        尽可能“立即”。由于未完成的写入,更新目录信息的延迟等原因,很容易会有一些滞后。这也可能是防病毒软件检查更改的文件。 这可能是极少数要求where0ѭ的情况。但是,为了完全安全,您将必须捕获(任何)异常,然后重试一定次数。