C# 4.0 异步任务结果

C# 4.0 async task results

我在 .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 组件以 async/await 工作。但是C#4中没有task.run方法。我尝试将其替换为 Task.Factory.StartNew 并且没有错误,但我无法得到任何结果。怎么了?如何将此代码移植到 4.0?提前致谢!

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

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