在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