Jon*_*nas 1 directory io async-await
我不知道如何可以实施async/await的版本Directory.CreateDirectory中的方法System.IO namespace?
CreateDirectory是一个奇怪的场景。最好内置异步版本,特别是用于在网络驱动器上打开/创建目录。
通常,如果 BCL 不直接支持异步,您将能够 P/Invoke 异步 Win32 API。但是,在这种情况下,Win32 API 实际上并不公开目录的异步 API。所以你必须走得更低——可能直接调用文件系统驱动程序(所有设备驱动程序都支持异步 I/O,所以这肯定会工作)。
因此,虽然它并不理想,但在这种情况下,您最好只制作一个假的异步方法,即,将调用包装在Task.Run.
附带说明一下,Windows Store 风格的目录 API 是异步的。它们可能是在 Win32 API 下调用的,但实际上我对此表示怀疑 - 我希望它们被实现为虚假的异步方法。
| 归档时间: | 
 | 
| 查看次数: | 200 次 | 
| 最近记录: |