C#4.0异步任务结果

时间:2015-06-30 17:53:51

标签: c# .net asynchronous task

我在.net 4.5上有一个程序,但我必须降级到.net 4.0。 我的代码如下:

public static async Task<string> ServerReq(string key, string url, string[] post=null)
{
   ...
   return await response;
}
private void newMethod()
{
   var task = Task.Run(async () => await ServerReq(readText, "/ssh/index.php/api/auth"));
   task.Wait();
   if (task.IsCompleted)
   {
      string taskResults = task.Result;
   }
}

我已安装Microsoft BLC组件以获得异步/等待工作。但是C#4中没有task.run方法。我试图将它替换为Task.Factory.StartNew并且没有错误,但我无法得到任何结果。怎么了?如何将此代码移植到4.0?提前谢谢!

1 个答案:

答案 0 :(得分:3)

在BLC中,Run方法位于TaskEx类,而不是Task

var task = TaskEx.Run(() => ServerReq(readText, "/ssh/index.php/api/auth"));
string taskResults = task.Result;