Share via


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。

说明:

在 .NET Framework 1.0 版和 1.1 版中,默认值为 100。

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 或更高版本之后才起相应的作用。输出缓存的配置和请求的类型决定了是否对内容进行缓存。

若要对响应进行缓存,必须满足以下条件:

  • 必须通过页指令或使用缓存 API 显式启用缓存。

  • 缓存必须具有过期策略,以便内核知道何时放弃响应。

  • 缓存不能有任何可变标头或参数。

  • 不需要身份验证。

默认值为 True。

enableVersionHeader

可选的 Boolean 属性。

指定 ASP.NET 是否应输出版本标头。Microsoft Visual Studio 2005 利用此属性确定所使用的 ASP.NET 的版本。对于生产环境,该属性不是必需的,可以禁用。

说明:

该属性在 .NET Framework 1.0 中不可用。

默认值为 True。

executionTimeout

可选的 TimeSpan 属性。

指定在被 ASP.NET 自动关闭前,允许执行请求的最大秒数。

只有当 compilation 元素中的调试属性为 False 时,此超时属性才适用。如果 debug 属性为 True,为了有助于避免应用程序在调试过程中关闭,请不要将此超时属性设置为较大值。

默认值为 110 秒。

说明:

在 .NET Framework 1.0 和 1.1 中,默认值为 90 秒。

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,则某些浏览器在加载无 Cookie 会话中的页时可能会遇到问题。

默认值为 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>

元素信息

配置节处理程序

HttpRuntimeSection

配置成员

HttpRuntime

可配置的位置

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

请参见

任务

如何:使用位置设置配置特定目录

如何:锁定 ASP.NET 配置设置

概念

缓存 ASP.NET 页

ASP.NET 配置文件层次结构和继承

保证 ASP.NET 配置的安全

ASP.NET 配置方案

参考

system.web 元素(ASP.NET 设置架构)

configuration 元素(常规设置架构)

System.Configuration

System.Web.Configuration

HttpRuntimeSection

HttpRuntime

其他资源

常规配置设置 (ASP.NET)

ASP.NET 配置设置

管理 ASP.NET 网站

ASP.NET 配置 API