.NET httpclient不能一致地保存pdf文件

jdM*_*ami 1 .net c# pdf dotnet-httpclient

我使用httpclient来保存URI中的文件.pdf不会一致地保存pdf文件.我解决了这个问题,但我想知道是否有人能够解释为什么会发生这种情况.原始代码是:

using (var pdfStream = File.Create(savePdf))
                       result.Content.CopyToAsync(pdfStream);
Run Code Online (Sandbox Code Playgroud)

有效的代码是:

File.WriteAllText(savePdf, result.Content.ReadAsStringAsync().Result);
Run Code Online (Sandbox Code Playgroud)

Dar*_*ler 5

CopyToAsync在任务完成之前返回任务.您的Using块将退出,并且在CopyToAsync方法完成之前将处理pdfStream.

添加await或.Wait().