非同期処理が必要なC#の.Netアプリケーションがあります。ユーザーはaspxページからPEOPLEレコードのファイルをアップロードし、システムはファイルをアップロードし、ファイルを解析し、データベース内のユーザーをロードしてから、アップロード先の初期ディレクトリからファイルを移動する必要があります。
一部のファイルには数千のレコードが含まれている可能性があり、システムがそれらすべてを処理するのに時間がかかる可能性があるため、ユーザーがこれを待つ必要はありません。基本的に、「ファイルをアップロードしていただきありがとうございます。システムがファイルを処理し、完了するとメールを送信します」というメッセージを返したいと思います。
私は新しいasync/awaitキーワードについて読みましたが、それが私がこれのためにとるべきルートであるかどうかはわかりません。基本的には、ファイルをアップロードするためのボタンイベントハンドラーと、ファイルの処理を終了するための「バッチ」プロセスを開始するだけで、UIのユーザーに制御を戻し、サイトでやりたいことをすべて実行できます。
2番目の質問は次のようになると思います:ボタンイベントハンドラーメソッド内で使用された場合、ユーザーに制御を返すのを待ちますか?もしそうなら、それはスレッドやユーザーをブロックしないので、これは私にとって完璧な解決策のようです。
これに使用する必要のあるより良い方法やパターンはありますか、それともasync / awaitで十分ですか?