.NET File.Open()和File.WriteAsync()

时间:2015-07-16 03:34:21

标签: .net windows file-io

只有在使用FILE_FLAG_OVERLAPPED参数调用CreateFile()API时,才会出现异步文件I / O.

但是,当您使用File.Open打开文件时,您不会指示您是否计划稍后通过WriteAsync()执行同步或异步I / O.

因此,当File.Open()最终调用CreateFile()时,它是否只包含FILE_FLAG_OVERLAPPED参数?对此有任何负面影响吗?

1 个答案:

答案 0 :(得分:1)

不,File.Open来电new FileStream(path, mode, access, share);。如果您致电that constructor,最终将FileOptions.None传递到FileStream,但不启用异步模式。

如果您需要正确的异步API调用,则需要调用FileStream并确保已设置FileOptions.Asynchronous标志。