System.IO namespace
にバージョンのDirectory.CreateDirectory
メソッドを実装する方法はありますか?System.IO.Directory.CreateDirectoryメソッドの非同期/待機のバージョンを実装する方法は?
1
A
答えて
3
CreateDirectory
は奇妙なシナリオです。特にネットワークドライブ上のディレクトリを開く/作成する場合、非同期バージョンを組み込むことが理想的です。
通常、BCLがasyncを直接サポートしていない場合、非同期Win32 APIをP/Invokeできます。ただし、この場合、Win32 APIは実際にディレクトリの非同期APIを公開しません。だから、ファイルシステムドライバを直接呼び出す(おそらくすべてのデバイスドライバが非同期I/Oをサポートしているので、確実に動作するはずです)。
それは理想的ではないのですが、そう、あなたはおそらく、この場合でがちょうどTask.Run
で呼び出しをラップする、すなわち、偽の非同期メソッドを作る方がいいでしょう。
WindowsストアスタイルのディレクトリAPIは、非同期です。彼らはWin32 APIの下で呼び出す可能性がありますが、私は実際に疑うことがあります - 私は彼らが偽の非同期メソッドとして実装されていると思います。
+0
ありがとう!今私はどのように進めるかを知っています。偽の非同期メソッドは、他の点では完全に非同期のアプリケーションでは非常に素晴らしいソリューションではありません。 - / –
関連する問題
- 1. Javaの非同期タスク内でビジー待機を実装する
- 2. 非同期メソッドと待機メソッド
- 3. 真に非同期メソッドを実装する方法は?
- 4. ExecutePostProcessingAsync内で非同期メソッドを待機させる方法
- 5. 非同期/ネイティブ実装を待つ
- 6. NodeJs - 非同期/非同期/待機中
- 7. 非同期、非同期待機
- 8. 同期メソッドを非同期で実行し、結果を待つ方法
- 9. 待機と待機の同期メソッド(java)
- 10. 非同期/待機のタイムアウト
- 11. 非同期メソッドを待つ
- 12. 抽象メソッドPythonでの非同期と同期の実装
- 13. 非同期非同期/待機メソッドを再帰的に呼び出す
- 14. 非同期メソッドが呼び出された同期メソッドを待機します
- 15. RxJavaで非同期メソッドを同期する方法は? RxJavaの非同期ウォーターフォール
- 16. Swift:非同期メソッドを同期メソッドでラップする方法は?
- 17. コールバックの非同期/待機バージョンを書く
- 18. Javaで非同期メソッド呼び出しを実装する方法は?
- 19. 非同期タスクが終了するまでの待機方法
- 20. すべての実行を完了するために非同期メソッドで待機する方法
- 21. 非同期メソッド - 待機中とタスクを返す間の差
- 22. 非同期実装
- 23. 非同期/待機イベント
- 24. 非同期/待機nodejs?
- 25. 機能の非同期待機
- 26. 同期メソッドの非同期バージョンを作成する
- 27. 非同期メソッドのコールバック戻り値を待つ方法
- 28. すべての非同期操作の待機方法
- 29. IValueConverterの非同期実装
- 30. 非同期ライブラリでビジー信号を実装する方法は?
チェック:: http://stackoverflow.com/questions/18373084/turn-this-code-into-a-task-to-run-asynchronously-on-another-thread 一部を行うことが常に良いもののこのようなスプーンフィードの質問をする前に自分で研究してください –
私はすでにあなたが指しているその質問を読んだ。別のスレッドで非同期にコードを実行することには興味がありません。本当の非同期メソッド呼び出しで実行したいと思います。 –
'Async'は何を実行しますか?非同期メソッドはどこですか? 'Directory.CreateDirectory'は' Async'メソッドではありません –