c# – 创建目录异步(不使用FileSystemWatcher)?

如何使以下代码异步运行,而不必在线程池上创建额外的线程(换句话说没有Task.Run(…))?

Directory.CreateDirectory("\\host\someNetworkDirectory");

理想情况下,我想像这样使用它:

async SomeMethod(){
    //...
    await Directory.CreateDirectoryAsync("\\host\someNetworkDirectory");
    // stuff to do after ensuring the directory exists
    //...
}

我尝试了this answer(建议使用FileSystemWatcher),但它不适用于文件夹.

最佳答案 在操作系统级别,此功能严格同步. WinAPI只有两个用于创建目录的函数,CreateDirectory和CreateDirectoryEx.他们都没有接受回调.

因此,您无法避免必须创建一个线程来使其异步.你可以期待的最好的办法就是找到一个可以远离你的图书馆.

点赞