C# ASP.NET文件上载控件允许的最大文件大小
我在ASP.Net中使用文件上载控件,遵循以下方法 4MB默认值在machine.config中设置,但您可以在web.config中覆盖它。例如,要将上载限制扩展到20MB,您可以执行以下操作:C# ASP.NET文件上载控件允许的最大文件大小,c#,asp.net,performance,file-upload,C#,Asp.net,Performance,File Upload,我在ASP.Net中使用文件上载控件,遵循以下方法 4MB默认值在machine.config中设置,但您可以在web.config中覆盖它。例如,要将上载限制扩展到20MB,您可以执行以下操作: <system.web> <httpRuntime executionTimeout="240" maxRequestLength="20480" /> </system.web> 问题: 直到什么级别(最大大小)我才能增加请求的长度,如果我们允许用户也
<system.web>
<httpRuntime executionTimeout="240" maxRequestLength="20480" />
</system.web>
问题:
直到什么级别(最大大小)我才能增加请求的长度,如果我们允许用户也上传50-60 MB的文件,会对站点性能产生什么影响。maxRequestLength字段的“理论”最大级别是有符号32位整数数据类型的最大值(
Int32.MaxValue
)
但是,为了了解性能,您必须测试上传
编辑:
发件人:
理论上,最大文件上载大小相当大。然而,
由于ASP.NET运行状况监视,您无法上载非常大的数据
ASP.NET中的文件。ASP.NET工作进程有一个虚拟地址
2千兆字节(GB)的空间。但是,ASP.NET工作进程仅限于
由于运行状况监视和内存的原因,使用略多于1 GB
碎片化
在上载过程中,ASP.NET会将整个文件加载到内存中
在用户可以将文件保存到磁盘之前。因此,这个过程
由于processModel的MemoryLit属性,可能会回收
标记在Machine.config文件中。memoryLit属性指定
ASP.NET工作进程可以使用的物理内存百分比
排气前的过程是自动回收。回收
防止内存泄漏导致ASP.NET崩溃或停止
回应
此外,其他因素也会影响所需的最大文件大小
可以上传。这些因素包括可用内存、可用内存
硬盘空间、处理器速度和当前网络流量。具有
定期上传文件,Microsoft建议您
使用10到20兆字节(MB)范围内的最大文件大小。如果
您很少上传文件,最大文件大小可能为100 MB
注意:您可以在ASP.NET中上载大于100 MB的文件。
但是,Microsoft建议您遵循最大文件上载量
本文中提到的尺寸。更精确地确定
文件大小,在与
将用于生产的产品
对性能的影响是,每次有人上传一个大文件时,它都会占用大量带宽……IIS 7的带宽大约为2GB(但@Liam对带宽的考虑是正确的)。如果您真的需要,最好实现另一个文件上传界面(例如使用POST和自定义浏览器扩展)。@Liam,@Adriano应用程序将托管在intranet上,因此可用带宽更大。但我想将用户限制在一定范围内,就好像IIS正在处理100MB-200MB的文件一样,网站的其他用户将获得较低的性能。@Pratik,更不用说您网络的其他用户了!即使在千兆以太网上,你也会有5个用户上传一个100Mb的文件,这会很糟糕-1,不,它是以KB表示的,限制要低得多(2097152KB=2GB)@Adriano我没有提到任何关于数字限定的内容。不过,很高兴知道是KB,我会更新我的答案。@davintroon该解释对于证明ASP.net文件上载控制的限制非常有用。谢谢。