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