C#4.0异步任务结果

本文关键字:结果 任务 异步 C#4 | 更新日期: 2023-09-27 18:00:35

我在.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?提前感谢!

C#4.0异步任务结果

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

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