C# .Net Core 3.1-使用HttpClient的异常';大文本文件上的s Content.ReadAsStringAsync()

C# .Net Core 3.1-使用HttpClient的异常';大文本文件上的s Content.ReadAsStringAsync(),c#,.net-core,httpclient,C#,.net Core,Httpclient,我们正在使用.NETCore3.1进行API调用,以下载和读取文本文件的内容。我们的代码99%的时间都能正常工作,但是有一个非常大的300MB文件抛出了一个异常 这是我们用来下载文件的代码: var request = new HttpRequestMessage(HttpMethod.Get, $"raw/{repoPath}?at={branch}"); var response = await _client.SendAsync(request, HttpComplet

我们正在使用.NETCore3.1进行API调用,以下载和读取文本文件的内容。我们的代码99%的时间都能正常工作,但是有一个非常大的300MB文件抛出了一个异常

这是我们用来下载文件的代码:

var request = new HttpRequestMessage(HttpMethod.Get, $"raw/{repoPath}?at={branch}");
var response = await _client.SendAsync(request, HttpCompletionOption.ResponseHeadersRead);  
这是读取内容的代码:

var codeContent = resp.Result.Content.ReadAsStringAsync().Result;
对于300 MB的文件,这会引发异常:“将内容复制到流时出错。”

内部例外是:“响应过早结束。”


有没有经过验证的方法来处理如此大的文本文件的内容?

“响应过早结束”->这是服务器的问题,而不是客户端的问题。300MB并没有那么大,但在慢速连接上下载可能会间歇性失败。为什么要同步调用
ReadAsStringAsync
?@IanKemp在下一组逻辑运行之前,我们需要字符串内容。这只是一个API调用另一个API。响应的内容类型是什么?那么您不了解async/await是如何工作的。我强烈建议您查阅MSDN的官方文件。