昨天在写代码时遇到一个问题:FileUpload控件上传小文件能成功,但是当我上传19M大小的文件时候提示网络有问题。后来网上查了好久终于找到原因,是因为 ASP.NET 给做了安全限制的,默认只能上传4M以下的文件。接着我就把 web.config的<httpRuntime> 元素中的 maxRequestLength 改成 50971520 就可以上传成功了。
同时我还研究了其它属性,如下:
属性 | 选项 | 描述 |
---|---|---|
appRequestQueueLimit | ASP.NET 为应用程序排队的最大请求次数。当没有足够的空闲线程来执行请求时,请求将入队。当队列超出了该设置指定的限制时,传入请求将被拒绝,并显示“503 - 服务器太忙”的错误消息。 | |
executionTimeout | 指出在 ASP.NET 自动关闭请求前,执行请求允许的最大秒数。 | |
maxRequestLength | 指示 ASP.NET 支持的最大的上载文件的大小。该限制可用于防止用户向服务器张贴容量过大的文件而导致拒绝服务。所指定的大小以 KB 为单位。默认值为 4096 KB (4 MB)。 | |
minFreeLocalRequestFreeThreads | ASP.NET 保留的可用来允许执行新本地请求的空闲线程的最小数量。这些数量的线程是为来自本地主机的请求而预留的,以防在处理过程中某些请求发出了对主机的子请求。这避免了因递归重新进入 Web 服务器而产生死锁的可能性。 | |
minFreeThreads | 执行新请求所允许的空闲线程的最小数量。ASP.NET 为请求保留这么多的空闲线程是为了应付请求需要额外的线程完成其处理。 | |
useFullyQualifiedRedirectUrl | 指示客户端的重定向是否完全符合条件(即某些移动控件所必需的 {HYPERLINK "http://server/path" } 格式),或是否反而将相关的重定向发送给客户端。 | |
true | 指定需要按完全符合条件的格式发送客户端的重定向。系统自动将所有不符合条件的重定向转变成完全符合条件的格式,以便完成这一要求。 | |
false | 指定客户端重定向无需自动转变成完全符合条件的格式。false 是默认值。 | |
versionHeader | 指定 ASP.NET 与每个响应一起发送的版本头的值。该属性由 Microsoft Visual Studio .NET 使用,用于确定正在使用的 ASP.NET 的版本。对于产品站点来说,这是不必要的,可以通过从 Web.config 或 Machine.config 中删除属性或将属性设置为空字符串 (versionHeader="") 来禁用它。 |
示例
下例为 ASP.NET 应用程序指定了 HTTP 运行库参数。
<configuration>
<system.web>
<httpRuntime maxRequestLength="4000"
useFullyQualifiedRedirectUrl="true"
executionTimeout="45"
versionHeader="1.1.4128"/>
</system.web>
</configuration>
要求
- 包含在:<system.web> 中
- Web 平台:IIS 5.0、IIS 5.1、IIS 6.0
- 配置文件:Machine.config、Web.config
- 配置节处理程序:System.Web.Configuration.HttpRuntimeConfigurationHandler