2011-10-25 19 views
2

AsyncControllerでは非同期アクションメソッドと同期アクションメソッドを使用できますか?これには何らかの欠点がありますか?同じコントローラ内の非同期アクションメソッドと同期アクションメソッド

理由は、非同期操作は時間のかかる作業のために理にかなっているが、HTMLのフォームを返すために意味がないということです。

たとえば、ファイルを生成するページがあります。入力してフォームを返すアクションメソッドは、ほとんどのロジックが、POSTを受け取るアクションメソッドを持って、別のWebサービスに送信し、応答を中継し、それは非同期にそれを行うには意味を行いますので、多少時間がかかります。

は私が分離コントローラ、1つの同期や他の同期でこれらのメソッドを入れることができますが、私はそれらを一緒に維持したいと思います。

乾杯。

答えて

5

AsyncControllerで非同期アクションメソッドと同期アクションメソッドを使用することはできますか?

はい。

何か欠点はありますか?

実際はありません。

理由は、あなたがI/O完了ポートの恩恵を受けることができるように非同期操作が、センス時間のかかる操作のための

時間のかかる操作 I/O集中型になるということです。別のスレッドで実行しているCPUの処理に時間がかかる場合は、非同期コントローラからのメリットはありません。それとは逆に、事態を悪化させます。例えば

、私はファイルを生成ページを持っています。入力を伴うフォームを返すアクションメソッド はほとんどロジックがありませんが、 アクションメソッドはPOSTを受け取り、別のWebサービス に送信し、応答をリレーするのには時間がかかりますので、 非同期に。

OK、WebサービスコールはI/O集約型操作です。>非同期コントローラの利点を得ることができます。この場合、同じ非同期コントローラで2つのアクションを実行できます。

+0

よろしくお願いいたします。 – vtortola

関連する問題