1

我在VS2010和VS2012中都运行了下面的代码,但VS2012只返回响应。然后我搜索并发现,需要启用异步并在VS2010中等待。
然后通过使用AsyncCtpLibrary DLL参考,我已经启用它。但仍然vs2010不会返回响应。异步,在Visual Studio 2010中等待

static void Main(string[] args) 
{ 
Task<string> task = GetCustomerDetails(); //PushCustomerDetails(); 
task.Wait(); 
var x = task.Result; 
} 

    static async Task<string> GetCustomerDetails() 
    { 
     var httpClientHandler = new HttpClientHandler() 
     { 
      Credentials=new NetworkCredential("demo","demo"), 
     }; 

     var httpClient = new HttpClient(httpClientHandler); 
     httpClient.DefaultRequestHeaders.Accept.Clear(); 
     httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); 
     var result1 = await httpClient.GetStringAsync("URL") 
     return result1.ToString(); 
    } 
+2

任何你无法更新到最新版本的Visual Studio的原因? VS2010真的很*很老... –

回答

6

VS2010的编译器有没有async/await知识。您需要安装异步CTP以便用更新的编译器更新VS2010。

不幸的是,7年前,Visual Studio安装程序技术远远落后于现在。 Async CTP安装程序的作用类似于VS更新,所以每次发布新的VS更新时它都会中断。异步团队然后将不得不释放另一个安装程序以使Async CTP再次工作。

AFAIK,这个周期从未完成,最新的VS2010仍然与Async CTP不兼容。因此,不再可能构建VS2010与异步构建机器。

+2

换句话说:升级的时间!这是你的老板的证明:-) –

+0

谢谢你的回应... – Vengat