我正在尝试本文第 2 部分中的代码:文件上传和多部分 MIME
它基本上是执行异步读取的 webapi 任务的表单帖子
await Request.Content.ReadAsMultipartAsync(provider);
为了避免完全上传缓冲和过多的内存使用,我还提出了这篇文章在 ASP.NET Web API 中处理大文件的建议
它建议创建
public class NoBufferPolicySelector : WebHostBufferPolicySelector
和配置
GlobalConfiguration.Configuration.Services.Replace
(typeof(IHostBufferPolicySelector), new NoBufferPolicySelector());
但是,当我在另一台机器上测试使用 IE 和 Firefox 上传两个 1G 文件时,没有 NoBufferPolicySelector,它们使用了大约 90M 的内存。有,大约180M。
这就是全部?这是否意味着 WebApi2 已经内置了内存缓冲区控制?是否需要额外的策略选择器代码?谢谢