在ASP.NET Web請求期間,我需要啓動一個異步任務,然後將控制權返回給網頁。有人能告訴我調用下面方法的代碼嗎?爲了清楚起見,我希望稱爲異步的函數和Web請求在功能仍在處理時完成將控制返回到調用頁面。如何將參數傳遞給c#中的異步任務
private void FunctionToCall(IInterface objectIWantToPassIn)
{
// do stuff
}
在ASP.NET Web請求期間,我需要啓動一個異步任務,然後將控制權返回給網頁。有人能告訴我調用下面方法的代碼嗎?爲了清楚起見,我希望稱爲異步的函數和Web請求在功能仍在處理時完成將控制返回到調用頁面。如何將參數傳遞給c#中的異步任務
private void FunctionToCall(IInterface objectIWantToPassIn)
{
// do stuff
}
你會想創建一個
Task task = Task.Factory.StartNew(action, "arg");
產卵線程,那麼你會想要做的事,也許當任務完成:
task.ContinueWith(anotheraction);
行動方針在這種情況下,這種情況是無效的。
這兩個答案都是正確的和讚賞的。但是,這一個使用MS CLR團隊現在更喜歡的新TPL。 http://blogs.msdn.com/b/pfxteam/archive/2009/10/06/9903475.aspx – 2013-04-05 11:16:06
private void FunctionToCall(object state)
{
IInterface objectIWantToPassIn= (IInterface) state;
// do stuff
}
System.Threading.ThreadPool.QueueUserWorkItem(FunctionToCall,
objectIWantToPassIn);
您使用的是什麼版本的C#? – 2013-04-05 00:16:04
對不起,4.5。應該提到這一點。 – 2013-04-05 00:28:36
async關鍵字中的「異步」,或者新線程中的「異步」? – 2013-04-05 00:33:29