簡體   English   中英

HttpClient.getAsync()內存不足異常

[英]HttpClient.getAsync() Out of Memory Exception

我有一個從Web服務獲取大量JSON的函數。 該數據有時可能很大,千兆字節。 我的電話看起來像這樣。

        try
        {
            using (var httpClient = NewHttpClient())
            {
                var response = httpClient.GetAsync(endpoint).Result;
                return response;
            }
        }
        catch(Exception ex)
        {
            //Do Stuff
        }

當數據很大時,這將引發內存不足異常。 我相信這是因為響應消息實際上大於HttpResponseMessage允許的大小。 有沒有辦法一次只獲取部分消息? 我敢肯定它已經完成了,但是我無法用google和/或slashdot找到任何東西。 預先感謝您的建議。

只需獲取流並將其寫入文件,以便以后進行處理,

using (var httpClient = new HttpClient())
{
    var stream = await httpClient.GetStreamAsync(url);
    stream.CopyToAsync(fileStream)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM