如何使以下代码异步运行,而不必在线程池上创建额外的线程(换句话说没有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.他们都没有接受回调.
因此,您无法避免必须创建一个线程来使其异步.你可以期待的最好的办法就是找到一个可以远离你的图书馆.