ASP.NET文件上载控件允许的最大文件大小

时间:2013-03-06 13:41:42

标签: c# asp.net performance file-upload

我在ASP.Net中使用文件上传控件,遵循以下博客方法。

http://weblogs.asp.net/jgalloway/archive/2008/01/08/large-file-uploads-in-asp-net.aspx

4MB默认值在machine.config中设置,但您可以在web.config中覆盖它。例如,要将上传限制扩展到20MB,您可以这样做:

<system.web>
  <httpRuntime executionTimeout="240" maxRequestLength="20480" />
</system.web>

问题:  如果我们允许用户上传50-60 MB文件,那么我可以增加所请求的长度以及对网站的性能影响。

1 个答案:

答案 0 :(得分:5)

maxRequestLength字段的“理论”最大级别是带符号的32位整数数据类型(Int32.MaxValue)的最大值。

但是,您必须测试上传才能了解您的效果。

编辑:

来自a Microsoft support ticket

  

理论上,最大文件上传大小相当大。然而,   因为ASP.NET运行状况监控,你无法上传非常大   ASP.NET中的文件。 ASP.NET辅助进程具有虚拟地址   2千兆字节(GB)的空间。但是,仅限ASP.NET工作进程   由于健康监控和内存,使用略多于1 GB   碎片。

     

在上载过程中,ASP.NET将整个文件加载到内存中   在用户可以将文件保存到磁盘之前。因此,这个过程   可能因为processModel的memoryLimit属性而回收   Machine.config文件中的标记。 memoryLimit属性指定   ASP.NET辅助进程可以使用的物理内存百分比   在过程自动回收之前排气。回收   防止内存泄漏导致ASP.NET崩溃或停止   响应。

     

此外,其他因素在最大文件大小中起作用   可以上传。这些因素包括可用内存   硬盘空间,处理器速度和当前网络流量。同   正在上传的文件流量,Microsoft建议您   使用最大文件大小,范围为10到20兆字节(MB)。如果   你很少上传文件,最大文件大小可能是100 MB。

     

注意您可以在ASP.NET中上载大于100 MB的文件。   但是,Microsoft建议您遵循最大文件上载   本文中提到的大小。确定更精确   文件大小,在类似的计算机上执行压力测试   将用于生产的那些。

相关问题