我遇到了从API下载大型JSON对象的问题。通常,这些文件很小,但偶尔会很大(100k +)。这会使大对象堆起作用,并且存在一些性能问题。
以下是返回响应字节的下载方法的内容。
using (var httpWebResponse = (HttpWebResponse)request.GetResponse())
{
byte[] responseBytes;
using (var responseStream = httpWebResponse.GetResponseStream())
{
using (var memoryStream = new MemoryStream())
{
if (responseStream != null)
{
responseStream.CopyTo(memoryStream);
}
responseBytes = memoryStream.ToArray();
}
}
return responseBytes;
}
如果最终目标是将web响应的内容放入字节数组中,这是最有效的方法吗?在过去,我只是以块的形式阅读流。我被告知,在90%的情况下(当JSON响应低于85k时),这比CopyTo效率低,但对于其他10%则更好。
我似乎无法就此达成一致意见。任何意见都将不胜感激。