2011-10-25 81 views
2

可能在AsyncController中有異步和同步操作方法?這樣做有什麼缺點嗎?同一控制器中的異步和同步操作方法

原因是異步操作對於耗費時間的操作很有意義,但對於在HTML中返回表單沒有意義。

例如,我有一個頁面可以生成一個文件。使用輸入返回表單的action方法幾乎沒有邏輯,但接收POST的action方法將其發送到另一個Web服務並中繼響應需要一些時間,因此它可以異步執行。

我可以把這些方法放在單獨的控制器中,一個是同步的,另一個是同步的,但我想把它們放在一起。

乾杯。

回答

5

可能有在AsyncController異步和同步操作的方法呢?

是的。

是否有任何缺點,這樣做呢?

不是。

的原因是,異步操作是有道理的,一個耗時的操作

耗時的操作 I/O密集型的,這樣就可以從I/O完成端口受益。如果你在一個單獨的線程中運行一個CPU耗時的操作,那麼你將從異步控制器中獲益。相反,它會讓事情變得更糟。

例如,我有一個生成文件的頁面。返回輸入表單的動作方法 幾乎沒有邏輯,但接收到POST的 操作方法將其發送到另一個Web服務 並中繼該響應需要一些時間,因此這樣做會很有意義 異步。

好的,Web服務調用是I/O密集型操作=>您將從異步控制器中受益。在這種情況下,您可以在同一個異步控制器上執行兩個操作。

+0

好,謝謝。 – vtortola