0

3ページ/ステップの申し込みフォームがあります。2番目のステップでは、最大2つの外部サードパーティAPIへの呼び出しがあり、これらの呼び出しの結果は、ステップ3に進む前に、ローカルDBに保存されます。これらのAPIからの応答は、ステップ3の終わりに、DBで結果を確認して、ステップ3の処理後に何が起こるかを判断します。

現在、API呼び出しは、ユーザーがステップ3に進むのをブロックします。リクエストに時間がかかる場合、アプリケーションが応答しなくなり、ユーザーが待つことにうんざりする可能性があります。ユーザーがステップ3の完了を開始できるように、Web呼び出しを非同期にすることで、アプリケーションプロセスの応答性を高めたいと思います。その時点で、ステップ2の結果が返されるはずです。

ASP.NET 4.5には、おそらく役立つと思われるasyncメソッドとawaitメソッドがあることがわかりますが、その間に私のオプションは何か疑問に思いましたか?

4

1 に答える 1

1

非同期メソッドからの戻り値を気にしない場合は、ブロッキング呼び出しをスレッドプールに委任するだけで、コードを変更せずに続行できます。

System.Threading.ThreadPool.QueueUserWorkItem http://msdn.microsoft.com/en-us/library/4yd16hza.aspxをご覧ください。

于 2013-01-14T15:59:59.843 に答える