2013-04-05 105 views
1

在ASP.NET Web請求期間,我需要啓動一個異步任務,然後將控制權返回給網頁。有人能告訴我調用下面方法的代碼嗎?爲了清楚起見,我希望稱爲異步的函數和Web請求在功能仍在處理時完成將控制返回到調用頁面。如何將參數傳遞給c#中的異步任務

private void FunctionToCall(IInterface objectIWantToPassIn) 
{ 
    // do stuff 
} 
+0

您使用的是什麼版本的C#? – 2013-04-05 00:16:04

+0

對不起,4.5。應該提到這一點。 – 2013-04-05 00:28:36

+0

async關鍵字中的「異步」,或者新線程中的「異步」? – 2013-04-05 00:33:29

回答

2

你會想創建一個

Task task = Task.Factory.StartNew(action, "arg"); 

產卵線程,那麼你會想要做的事,也許當任務完成:

task.ContinueWith(anotheraction); 

行動方針在這種情況下,這種情況是無效的。

+0

這兩個答案都是正確的和讚賞的。但是,這一個使用MS CLR團隊現在更喜歡的新TPL。 http://blogs.msdn.com/b/pfxteam/archive/2009/10/06/9903475.aspx – 2013-04-05 11:16:06

1
private void FunctionToCall(object state) 
{ 
     IInterface objectIWantToPassIn= (IInterface) state; 
     // do stuff 
} 

    System.Threading.ThreadPool.QueueUserWorkItem(FunctionToCall, 
               objectIWantToPassIn); 
相關問題