【发布时间】:2013-10-30 05:00:00
【问题描述】:
我正在试用这篇文章中的代码Part 2: File Upload and Multipart MIME
它基本上是一个执行异步读取的 webapi 任务的表单发布
await Request.Content.ReadAsMultipartAsync(provider);
为了避免完全上传缓冲和过多的内存使用,我也提出了这篇文章的建议Dealing with large files in ASP.NET Web API
建议创建
public class NoBufferPolicySelector : WebHostBufferPolicySelector
和配置
GlobalConfiguration.Configuration.Services.Replace
(typeof(IHostBufferPolicySelector), new NoBufferPolicySelector());
但是,当我在没有 NoBufferPolicySelector 的情况下使用 IE 和 Firefox 从另一台机器上测试上传两个 1G 文件时,它们使用了大约 90M 的内存。有,大约 180M。
就这些了吗?这是否意味着 WebApi2 已经内置了内存缓冲区控制?是否需要额外的策略选择器代码?谢谢
【问题讨论】:
标签: file-upload asynchronous asp.net-web-api buffer