前提・実現したいこと
既に実装されて提供されているASP.NET WebAPIで実装されたAPIを呼び出して、サーバで生成されたデータをクライアントにダウンロードしたいです。クライアントはWindowsFormです。
開発環境はVS2022、.NET6です。
用意されているAPIの概要
①データ作成要求API
条件を渡して呼び出すと、API側でデータ作成用のバッチを起動してその処理状態を管理するレコードを
DBに登録する。登録されたときの主キーを応答データでかえす。
②データ作成バッチ
DBに処理状態を「処理中」で更新して処理を開始する。処理が終わったら処理状態を「処理終了」で更新して、作成されたデータをファイルとしてサーバに出力する。
③データ取得API
データ作成用のバッチ処理が作成したデータを取得する。
データ作成バッチが実行中で、まだデータが出力されていない場合、ステータスを「処理中」、データを空で返す。データが出力されている場合、ステータスを「処理終了」、サーバに出力されたデータを返す。
解決したいこと・教えていただきたいこと
②データ作成バッチはそれなりに時間がかかることが分かっています。
(②データ取得APIを何度か呼び出さないと、データが取得できない)そのため、WindowsFormからの呼び出しは非同期処理
とすべきだと考えています。ただし、上記一連の処理はクラスライブラリに実装し、
WindowsFormからはクラスライブラリのメソッドを呼び出して処理をさせるように指示をうけています。
非同期処理についてあまりくわしくないのですが、こういった条件だと、どのように実装すべきでしょうか?
サンプルになるようなコード等教えていただけると嬉しいです。それを見ながら非同期処理も含め勉強したいと思っています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/01/20 12:29