2013-04-05 72 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); 
相关问题