2014-05-22 23 views
0

我有一個WebAPI和一個測試Winforms應用程序的解決方案。我試圖從Winform訪問Wepapi。OWIN ReadAsAync不返回

HttpResponseMessage response = await client.GetAsync("api/serialnumbers"); 
if (response.IsSuccessStatusCode) 
{ 
    var x = await response.Content.ReadAsAsync<SerialNumber>(); //This does not return 
    button1.Text = snlist[0].ComputerName; 

} 

的client.GetAsync呼叫可以遵循的服務器,我看到它的獲取則是的StatusCode OK和ReadAsSync被調用,但我不知道它會在服務器上,它不回來。

我可以瀏覽到/ api/serialnumbers網址並獲取數據。

回答

0

這爲我

snlist = response.Content.ReadAsAsync>()的結果。;

0

您很可能會打電話給WaitResult進一步調用您的調用堆棧。這將導致deadlock that I describe on my blog

正確的解決方案是刪除每個電話WaitResultawait