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. ExecutePostProcessingAsync内で非同期メソッドを待機させる方法
- 3. 非同期、非同期待機
- 4. 同期メソッドを非同期で実行し、結果を待つ方法
- 5. 待機と待機の同期メソッド(java)
- 6. 非同期/待機のタイムアウト
- 7. 非同期メソッドを待つ
- 8. 非同期非同期/待機メソッドを再帰的に呼び出す
- 9. Swift:非同期メソッドを同期メソッドでラップする方法は?
- 10. 非同期タスクが終了するまでの待機方法
- 11. Javaで非同期メソッド呼び出しを実装する方法は?
- 12. すべての実行を完了するために非同期メソッドで待機する方法
- 13. 非同期メソッド - 待機中とタスクを返す間の差
- 14. 機能の非同期待機
- 15. 非同期実装
- 16. すべての非同期操作の待機方法
- 17. 非同期メソッドのコールバック戻り値を待つ方法
- 18. IValueConverterの非同期実装
- 19. Javascriptで非同期/待機を並行して実行する方法
- 20. djangoで非同期ページリフレッシュを実装する方法は?
- 21. 非同期ライブラリでビジー信号を実装する方法は?
- 22. 非同期でHttpWebRequest.GetResponseAsyncで待機する
- 23. 非同期メソッドの作成方法は?
- 24. angular2 Observable:非同期の結果を待って別の非同期メソッドを返す方法
- 25. 貧しいマンの非同期/を使用して非同期タイムアウトを実装する構造を待つ
- 26. 非同期待機ボタンは常に同期的に実行されます。
- 27. 非同期メソッドの非同期メソッド
- 28. 非同期/待機とリソースへのアクセス
- 29. 待機用のJavaScript非同期
- 30. 非同期Webレスポンスの無限待機
チェック:: http://stackoverflow.com/questions/18373084/turn-this-code-into-a-task-to-run-asynchronously-on-another-thread 一部を行うことが常に良いもののこのようなスプーンフィードの質問をする前に自分で研究してください –
私はすでにあなたが指しているその質問を読んだ。別のスレッドで非同期にコードを実行することには興味がありません。本当の非同期メソッド呼び出しで実行したいと思います。 –
'Async'は何を実行しますか?非同期メソッドはどこですか? 'Directory.CreateDirectory'は' Async'メソッドではありません –