2014-05-14 67 views
0

在我的Windows Phone 8的應用程序,我有以下代碼:使用HttpResponseMessage.Content.ReadAsStringAsync()時未獲取完整的內容;

private static async Task<string> GetJson(string url, string param) 
{ 
    try 
    { 
     var client = new HttpClient(); 
     var request = new HttpRequestMessage(HttpMethod.Get, url + param); 
     HttpResponseMessage response = await client.SendAsync(request); 
     string responseBodyAsText = await response.Content.ReadAsStringAsync(); 
     return responseBodyAsText; 
    } 
    catch (Exception e) 
    { 
     Debug.WriteLine(e.StackTrace); 
     return null; 
    } 

} 

此方法,除了一兩件事極大;所有內容都沒有被Content.ReadStringAsync()方法捕獲。

這是的API回覆請求的格式爲:

JSON 
-embedded 
    -messages[] 
-links 

在做與諸如Fiddler客戶端的請求,我得到了響應的全部。然而,我的Windows Phone應用程序只獲取消息數組,而不是鏈接對象。這會導致我的序列化器失敗,因爲我缺少部分JSON對象。

有沒有人明白爲什麼會發生這種情況?如果需要,我可以提供額外的代碼。

回答

0

您可以直接嘗試response.Content.ReadAsAsync()而不是將響應作爲字符串檢索,然後將其解析爲對象。

相關問題