引用:http://www.cnblogs.com/stswordman/archive/2006/07/10/447535.html
配置 ASP.NET HTTP 运行时设置,以确定如何处理对 ASP.NET 应用程序的请求
<httpRuntime executionTimeout = "HH:MM:SS" maxRequestLength = "number" requestLengthDiskThreshold = "number" useFullyQualifiedRedirectUrl = "[True|False]" minFreeThreads = "number" minLocalRequestFreeThreads = "number" appRequestQueueLimit = "number" enableKernelOutputCache = "[True|False]" enableVersionHeader = "[True|False]" apartmentThreading = "[True|False]" requireRootedSaveAsPath = "[True|False]" enable = "[True|False]" sendCacheControlHeader = "[True|False]" shutdownTimeout = "HH:MM:SS" delayNotificationTimeout = "HH:MM:SS" waitChangeNotification = "number" maxWaitChangeNotification = "number" enableHeaderChecking = "[True|False]" />
以下几节描述了属性、子元素和父元素。
属性
属性 | 说明 | ||
---|---|---|---|
apartmentThreading |
可选的 Boolean 属性。 启用单元线程处理以实现传统的 ASP 兼容性。 此属性是 .NET Framework 2.0 版中的新属性。默认值为 False。 | ||
appRequestQueueLimit |
可选的 Int32 属性。 指定 ASP.NET 将为应用程序排队的请求的最大数目。当没有足够的自由线程来处理请求时,将对请求进行排队。当队列超出了该属性中指定的限制时,将通过“503 - 服务器太忙”错误信息拒绝传入的请求。 默认值为 5000。
| ||
delayNotificationTimeout |
可选的 TimeSpan 属性。 指定延迟通知的超时时间。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为“00:00:05”(5 秒)。 | ||
enable |
可选的 Boolean 属性。 指定是否在当前的节点及子节点级别启用应用程序域 (AppDomain),以接受传入的请求。如果为 False,则实际上关闭了该应用程序。 默认值为 True。 | ||
enableHeaderChecking |
可选的 Boolean 属性。 指定 ASP.NET 是否应检查请求标头,以检测可能的注入式攻击。如果检测到攻击,ASP.NET 将返回错误作为响应。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 True。 | ||
enableKernelOutputCache |
可选的 Boolean 属性。 指定是否启用输出缓存。该属性只有在安装 Microsoft Internet 信息服务 (IIS) 6.0 或更高版本之后才起相应的作用。输出缓存的配置和请求的类型决定了是否对内容进行缓存。 若要对响应进行缓存,必须满足以下条件:
默认值为 True。 | ||
enableVersionHeader |
可选的 Boolean 属性。 指定 ASP.NET 是否应输出版本标头。Microsoft Visual Studio 2005 使用该属性来确定当前使用的 ASP.NET 版本。对于生产环境,该属性不是必需的,可以禁用。
默认值为 True。 | ||
executionTimeout |
可选的 TimeSpan 属性。 指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。 只有当 compilation 元素中的调试属性为 False 时,此超时属性才适用。若要帮助避免在调试期间关闭应用程序,请不要将此超时属性设置为较大值。
默认值为“00:01:50”(110 秒)。 | ||
maxRequestLength |
可选的 Int32 属性。 指定输入流缓冲阈值限制(以 KB 为单位)。此限制可用于防止拒绝服务攻击;例如,因用户向服务器发送大型文件而导致的拒绝服务攻击。 默认值为 4096 (4 MB)。 | ||
maxWaitChangeNotification |
可选的 Int32 属性。 指定从第一次文件更改通知开始,在为新请求重新启动 AppDomain 之前等待的最长时间(秒)。将此属性设置为一个大于完成任何文件复制过程所需时间的数值。根据该属性和 waitChangeNotification 属性的值来合并文件更改通知。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 0。 | ||
minFreeThreads |
可选的 Int32 属性。 指定允许执行新请求的自由线程的最小数目。ASP.NET 为要求附加线程来完成其处理的请求而使指定数目的线程保持自由状态。 默认值为 8。 | ||
minLocalRequestFreeThreads |
可选的 Int32 属性。 指定 ASP.NET 保持的允许执行新本地请求的自由线程的最小数目。这一指定的线程数目是为从本地主机传入的请求而保留的,以防某些请求在其处理期间发出对本地主机的子请求。这有助于避免可能的因递归重新进入 Web 服务器而导致的死锁。 默认值为 4。 | ||
requestLengthDiskThreshold |
可选的 Int32 属性。 指定输入流缓冲阈值限制(以字节为单位)。该值不应超过 maxRequestLength 属性。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 256。 | ||
requireRootedSaveAsPath |
可选的 Boolean 属性。 指定 SaveAs 方法中的 filename 参数是否必须为绝对路径。ASP.NET 进程必须具有在指定位置中创建文件的权限。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 True。 | ||
sendCacheControlHeader |
可选的 Boolean 属性。 指定是否发送默认情况下设置为 Private 的缓存控制标头。如果为 True,则客户端缓存被禁用。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 True。 | ||
shutdownTimeout |
可选的 TimeSpan 属性。 指定允许辅助进程关闭的分钟数。在达到该超时时间时,ASP.NET 关闭辅助进程。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 "00:01:30"(90 秒)。 | ||
useFullyQualifiedRedirectUrl |
可选的 Boolean 属性。 指示客户端重定向是否是完全限定的(采用 "http://server/path" 格式,这是某些移动控件所必需的),或者指示是否代之以将相对重定向发送到客户端。如果为 True,则所有不是完全限定的重定向都将自动转换为完全限定的格式。
默认值为 False。 | ||
waitChangeNotification |
可选的 Int32 属性。 指定重新启动 AppDomain 之前等待另一次文件更改通知的时间(以秒为单位)。将 此属性设置为一个大于两次文件复制更改通知更新之间的时间的数值。根据该属性和 maxWaitChangeNotification 属性的值来合并文件更改通知。 此属性是 .NET Framework 2.0 版中的新属性。 默认值为 0 秒。 |
子元素
无。
父元素
元素 | 说明 |
---|---|
configuration |
公共语言运行库和 .NET Framework 应用程序所使用的每个配置文件中均需要的根元素。 |
system.web |
指定配置文件中 ASP.NET 配置设置的根元素,并且包含各种配置元素,这些配置元素配置 ASP.NET Web 应用程序并控制这些应用程序的行为方式。 |
httpRuntime 元素配置 ASP.NET HTTP 运行时设置,这些设置确定如何处理对 ASP.NET 应用程序的请求。.NET Framework 提供了许多不同的运行时宿主,包括 ASP.NET 运行时宿主。请求到达时,ASP.NET 将运行库加载到要处理请求的进程中。ASP.NET 还为将在 Web 服务器上运行的每个 Web 应用程序创建一个应用程序域。
下面的默认 httpRuntime 元素不是在 Machine.config 文件或根 Web.config 文件中显式配置的,而是由应用程序返回的默认配置。
<httpRuntime executionTimeout="110" maxRequestLength="4096" requestLengthDiskThreshold="256" useFullyQualifiedRedirectUrl="false" minFreeThreads="8" minLocalRequestFreeThreads="4" appRequestQueueLimit="5000" enableKernelOutputCache="true" enableVersionHeader="true" requireRootedSaveAsPath="true" enable="true" shutdownTimeout="90" delayNotificationTimeout="5" waitChangeNotification="0" maxWaitChangeNotification="0" requestPriority="Normal" enableHeaderChecking="true" sendCacheControlHeader="true" apartmentThreading="false" />
下面的代码示例演示如何为 ASP.NET 应用程序指定 HTTP 运行时参数。
<configuration> <system.web> <httpRuntime maxRequestLength="4000" enable = "True" idleTimeOut = "15" requestLengthDiskThreshold="512 useFullyQualifiedRedirectUrl="True" executionTimeout="45" versionHeader="1.1.4128"/> </system.web> </configuration>
配置节处理程序 | |
配置成员 | |
可配置的位置 |
Machine.config 根级别的 Web.config 应用程序级别的 Web.config 虚拟或物理目录级别的 Web.config |
要求 |
Microsoft Internet 信息服务 (IIS) 5.0、5.1 或 6.0 .NET Framework 版本 1.0、1.1、2.0 Microsoft Visual Studio 2003 或 Visual Studio 2005 |