2010-02-05 51 views
0

我有一個ASP.NET MVC應用程序,而在其中一個控制器中,我有兩個長時間運行的操作。我想要並行執行它們。首先,我只是通過在退出控制器之前新建一個System.Threading.Thread()對象,在後臺運行它以及thread.Join()來實現自己的多線程代碼。工作很好。我應該使用PageAsyncTask還是手動線程化在ASP.NET MVC控制器中進行並行操作

一位同事指着我在System.Web.UI.PageAsyncTask類。它看起來簡單直接,並且事件驅動,但它似乎也會起作用。

任何令人信服的理由選擇PageAsyncTask通過一個簡單的線程?

謝謝!

-Mike

回答

2

PageAsyncTask不應該在MVC應用程序中使用。 MVC 2有一個AsyncController class,可以用於此目的。但是,如果您的操作非常簡單,並且手動線程正在爲您工作,那麼您可能很好地堅持使用當前的實現。

+0

請問您能再詳細一點嗎?爲什麼不應該在MVC中使用PageAsyncTask? – Mike 2010-02-08 13:45:12

+0

PageAsyncTask類型與Page類緊密相關(特別是,Page.RegisterAsyncTask()方法)。這些踢這些任務的代碼路徑並不保證在MVC請求的生命週期中被正確調用。實質上,頁面應嚴格用作MVC視圖的啞模板系統。 – Levi 2010-02-08 19:16:41

相關問題