httpRuntime 元素(ASP.NET 设置架构)
更新:2007 年 11 月
配置 ASP.NET HTTP 运行时设置,以确定如何处理对 ASP.NET 应用程序的请求。
configuration 元素(常规设置架构)
system.web 元素(ASP.NET 设置架构)
httpRuntime 元素(ASP.NET 设置架构)
<httpRuntime
executionTimeout = "number"
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 = "number"
delayNotificationTimeout = "number"
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 版中的新属性。 默认值为 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 时,此超时属性才适用。如果 debug 属性为 True,为了有助于避免应用程序在调试过程中关闭,请不要将此超时属性设置为较大值。 默认值为 110 秒。
|
||
maxRequestLength |
可选的 Int32 属性。 指定输入流缓冲阈值限制(以 KB 为单位)。此限制可用于防止拒绝服务攻击;例如,因用户向服务器发送大型文件而导致的拒绝服务攻击。 默认值为 4096 KB。超过此阈值将引发 ConfigurationErrorsException。 |
||
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 中的新属性。 默认值为 80 KB。 |
||
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 中的新属性。 默认值为 90 秒。 |
||
useFullyQualifiedRedirectUrl |
可选的 Boolean 属性。 指定客户端重定向是否是完全限定的(采用 "https://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 应用程序创建一个应用程序域。
默认配置
Machine.config 文件或根 Web.config 文件中未显式定义 httpRuntime 元素。但是,以下设置是系统初始化的默认值。如果需要自定义此节,必须在配置文件中创建它并且只定义那些需要自定义的属性。
<httpRuntime
executionTimeout="110"
maxRequestLength="4096"
requestLengthDiskThreshold="80"
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"
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 |