ProcessModelSection 类

在运行 IIS 的 Web 服务器上配置 ASP.NET 进程模型设置。

语法

class ProcessModelSection : ConfigurationSection  

方法

下表列出了 ProcessModelSection 类公开的方法。

名称 描述
GetAllowDefinition (继承自 ConfigurationSection。)
GetAllowLocation (从 ConfigurationSection 继承。)
RevertToParent (从 ConfigurationSection 继承。)
SetAllowDefinition (从 ConfigurationSection 继承。)
SetAllowLocation (从 ConfigurationSection 继承。)

属性

下表列出了 ProcessModelSection 类公开的属性。

名称 描述
AutoConfig 一个读/写 boolean 值。 true 如果 ASP.NET 自动配置某些属性以实现基于计算机配置的最佳性能,false 如果 ASP.NET 对属性使用显式定义的值。 默认为 false。 配置属性将在后文的“备注”部分列出。 注意:这些属性仅影响 ASP.NET 应用程序,而不会影响 .NET Framework 客户端应用程序。 注意:Machine.config 文件中此属性的默认值为 true,这将替代较低配置文件中的设置。 如果从 Machine.config 中删除条目 autoConfig,则默认值将还原到 false
ClientConnectedCheck 一个读/写 datetime 值,该值指定 ASP.NET 执行检查以确定客户端是否已连接之前,请求在队列中保留的时间长度。 默认值为 5 秒。
ComAuthenticationLevel 一个读/写 sint32 值,该值指定 DCOM 安全性的身份验证级别。 后文的“备注”部分列出了可能的值。
ComImpersonationLevel 一个读/写 sint32 值,指定 COM 安全性的身份验证级别。 后文的“备注”部分列出了可能的值。
CpuMask 一个读/写 sint32 值,该值指定多处理器服务器上的哪些处理器 (CPU) 有资格运行 ASP.NET 进程。 默认值为 0xffffffff。

此值指定一个位模式,用于指示有资格运行 ASP.NET 线程的 CPU。 例如,十六进制值 0x0d 表示位模式 1101。 在拥有四个 CPU 的计算机上,这表示 ASP.NET 进程可以在 CPU 0、2 和 3 上调度,但不能在 CPU 1 上调度。 ASP.NET 为每个有资格的 CPU 启动一个工作进程。 如果 WebGarden 属性为 true,则 CpuMask 将限制有资格 CPU 的工作进程数量。 最大工作进程数等于 CPU 数。 如果 WebGarden 属性为 false(默认值),则 CpuMask 将被忽略,并且将仅运行一个工作进程。
Enable 一个读/写 boolean 值。 如果启用了进程模型,true;否则,false。 默认为 true
IdleTimeout 一个读/写 datetime 值,该值指定在经过多长时间的非活动状态后,ASP.NET 会自动结束工作进程。 默认值为 infinite。
Location (继承自 ConfigurationSection。)一个键属性。
LogLevel 一个读/写 sint32 值,该值指定要写入事件日志的事件类型。 后文的“备注”部分列出了可能的值。
MaxAppDomains 一个读/写 sint32 值,该值指定一个进程中允许的最大应用程序域数。 此属性必须小于或等于 2000。 默认为 2000。
MaxIOThreads 一个读/写 sint32 值,该值指定每个 CPU 用于进程的最大 I/O 线程数(从 5 到 100)。 默认值为 20。

例如,如果此值在单处理器服务器上设置为 25,则 ASP.NET 会将进程限制设置为 25。 在双处理器服务器上,ASP.NET 会将限制设置为 50。 此属性的值必须等于或大于 HttpRuntimeSection 类的 MinFreeThread 属性。
MaxWorkerThreads 一个读/写 sint32 值,该值指定每个 CPU 用于进程的最大工作线程数(从 5 到 100)。 默认值为 20。

例如,如果此值在单处理器服务器上设置为 25,则 ASP.NET 会使用运行时 API 将进程限制设置为 25。 在双处理器服务器上,ASP.NET 会将限制设置为 50。 此属性的值必须等于或大于 HttpRuntimeSection 类的 MinFreeThread 属性。
MemoryLimit 一个读/写 sint32 值,该值指定了在 ASP.NET 启动新进程并重新分配现有请求之前,允许工作进程使用的最大内存大小(占系统内存总量的百分比)。 默认值为 60。
MinIOThreads 一个读/写 sint32 值,该值指定每个 CPU 用于进程的最小 I/O 线程数。 默认值为 1。
MinWorkerThreads 一个读/写 sint32 值,该值指定每个 CPU 用于进程的最大工作线程数。 默认值为 1。
Password 一个读/写 string 值(如果存在),该值与 UserName 属性一起会导致工作进程使用配置的 Microsoft Windows 标识运行。 默认值为“AutoGenerate”。 注意:有关特殊名称“System”和“Machine”(不需要密码),以及有关在注册表中存储加密工作进程凭据的详细信息,请参阅 UserName 属性。
Path (继承自 ConfigurationSection。)一个键属性。
PingFrequency 一个读/写 datetime 值,该值指定 ISAPI 扩展对工作进程执行 ping 操作以确定进程是否正在运行的时间间隔。 默认值为 infinite。

如果工作进程未在 PingTimeout 属性指定的时间间隔内响应,则会被重启。
PingTimeout 一个读/写 datetime 值,该值指定工作进程停止响应之后进行重启的时间间隔。 默认值为 infinite。

ISAPI 扩展按 PingFrequency 属性指定的时间间隔对工作进程执行 ping 操作。 如果工作进程未在 PingTimeout 属性指定的时间间隔内响应,则会被重启。
RequestLimit 一个读/写 sint32 值,该值指定在 ASP.NET 自动启动新的工作进程以取代当前工作进程之前允许的请求数。 默认值为 2147483647。
RequestQueueLimit 一个读/写 sint32 值,该值指定在 ASP.NET 将消息“503 – 服务器太忙”返回新请求之前允许的队列请求数。 默认值为 5000。
ResponseDeadlockInterval 一个读/写 datetime 值,指定在有排队请求且在指定间隔内没有响应,进行进程重启的时间间隔。 默认为 3 分钟。
ResponseRestartDeadlockInterval 一个读/写 datetime 值(为向后兼容性而提供),指定在有排队请求且在指定间隔内没有响应,进行进程重启的时间间隔。 默认为 3 分钟。 注意:ASP.NET 不再使用此属性;它仅用于向后兼容性。 如果配置文件中已存在该属性,则此属性不会导致配置错误。 ResponseDeadlockInterval 属性现在控制死锁进程的重启。
RestartQueueLimit 一个读/写 sint32 值,该值指定 IIS 在非标准终止后等待工作进程重启时允许的最大 IIS 队列请求数。 此设置不适用于干净关闭或标准重启。 默认值为 10。
SectionInformation (从 ConfigurationSection 继承。)
ServerErrorMessageFile 一个读/写 string 值,该值指定服务器意外停止响应时要使用的文件内容,以替代默认消息“服务器不可用”。 文件位置可以相对于 Machine.config 文件,也可以是绝对路径。 如果未指定此属性值,IIS 将使用默认消息“服务器不可用”。
ShutdownTimeout 一个读/写 datetime 值,该值指定允许工作进程关闭所花费的时间。 默认值为 5 秒。 超时到期后,ASP.NET 将关闭工作进程。
Timeout 一个读/写 datetime 值,该值指定 ASP.NET 启动新的工作进程以取代当前工作进程之前的分钟数。 默认值为 infinite。
UserName 一个读/写 string 值,该值指定 ASP.NET 将使用默认进程标识以外的 Windows 标识运行工作进程。 默认值为“Machine”。 默认情况下,进程将在安装 ASP.NET 时自动创建的用户帐户和密码下运行。 用户帐户名为 ASPNET,密码以加密方式生成。

如果 UserNamePassword 属性同时提供有效的凭据,则会使用给定帐户运行该进程。 如果 UserName 值为“System”且 Password 值为“AutoGenerate”,则进程将对使用进程的所有 ASP.NET 代码以完整管理权限运行。 注意:此属性和 Password 属性的值以明文形式存储在配置文件中。 尽管 IIS 不会在响应用户代理请求时传输 .config 文件,但可以通过其他方式读取配置文件。 例如,具有服务器域所需凭据的经过身份验证的用户可以读取配置文件。 出于安全原因,ProcessModelSection 类支持在注册表中存储加密 UserNamePassword 属性。 有关详细信息,请参阅《processModel 元素(ASP.NET 设置架构)》。
WebGarden 一个读/写 boolean 值。 如果属性 CpuMask 用于指定哪些 CPU 有资格运行 ASP.NET 进程,则为 true;如果只有一个工作进程运行,并且由 Windows 操作系统调度 CPU 使用率,则为 false。 默认为 false。 注意:多处理器 Web 服务器称为 Web 花园。

子类

此类不包含子类。

注解

<processModel> 部分只能在 Machine.config 文件中进行设置,并且会影响该服务器上运行的所有 ASP.NET 应用程序。

注意

ProcessModelSection 类的更改仅在重启工作进程时才会生效,而不是在设置更改后立即生效。

下表列出了 AutoConfig 属性为 true 时自动配置的属性。 有关详细信息,请参阅 Microsoft 知识库 https://support.microsoft.com 中的文章 821268《从 ASP.NET 应用程序发出 Web 服务请求时的争用、性能和死锁》。

属性 说明
maxWorkerThreads 指定 ASP.NET 使用的每个 CPU 的最大工作线程数。
maxIoThreads 指定 ASP.NET 使用的每个 CPU 的最大完成线程数。
minFreeThreads 对应于 HttpRuntimeSection 类的 MinFreeThreads 属性。
minLocalRequestFreeThreads 对应于 HttpRuntimeSection 类的 MinLocalRequestFreeThreads 属性。
maxConnection 对应于 ConnectionManagementElement 类的 MaxConnection 属性。

下表列出了 ComAuthenticationLevel 属性的可能值。 默认值为 2 (Connect)。

关键字 说明
0 None 不指定身份验证。
1 Call 指定若服务器在每个远程过程调用开始时接收到请求,DCOM 将验证客户端的凭据。
2 Connect 指定只有当客户端与服务器建立连接时,DCOM 才验证客户端的凭据。
3 Default 指定 DCOM 使用其标准安全协商算法确定身份验证级别。
4 Pkt 指定由 DCOM 验证接收的所有数据是否来自期望的客户端。 数据报传输始终使用 Pkt 身份验证。
5 PktIntegrity 指定 DCOM 验证并确认客户端和服务器之间传输的数据均未被修改。
6 PktPrivacy 指定 DCOM 验证所有先前级别并加密每个远程过程调用的参数值。

下表列出了 ComImpersonationLevel 属性的可能值。 默认值为 4 (Impersonate)。

关键字 说明
0 Default 指定 DCOM 使用其标准安全协商算法确定模拟级别。
1 Anonymous 指定客户端对服务器是匿名的。 服务器可以模拟客户端,但模拟标记将不包含任何信息。 在 .NET Framework 1.1 版中,不支持 Anonymous
2 Delegate 指定当服务器代表客户端执行操作时,服务器进程可以模拟客户端的安全性上下文。 当服务器代表客户端执行操作时,服务器进程还可以使用掩蔽对其他服务器发出调用。 服务器可以使用其他计算机上的客户端安全上下文作为客户端访问本地和远程资源。 当服务器在此级别模拟时,模拟令牌可以跨任意数量的计算机边界传递。
3 Identify 指定服务器可以获取客户端的标识。 服务器可以模拟客户端进行访问控制列表 (ACL) 检查,但不能作为客户端访问系统对象。
4 Impersonate 指定当服务器代表客户端执行操作时,服务器进程可以模拟客户端的安全性上下文。 服务器可使用此模拟级别访问本地资源(如文件)。 当服务器在此级别模拟时,模拟令牌仅可以跨一个计算机边界传递。

下表列出了 LogLevel 属性的可能值。 默认值为 2 (Errors)。

关键字 说明
0 None 指定不记录任何事件。
1 All 指定记录所有进程事件。
2 Errors 指定仅记录意外关闭、内存限制关闭和死锁关闭。

继承层次结构

ConfigurationSection

ProcessModelSection

要求

类型 描述
客户端 - IIS 7.0(在 Windows Vista 上)
- IIS 7.5(在 Windows 7 上)
- IIS 8.0(在 Windows 8 上)
- IIS 10.0(在 Windows 10 上)
服务器 - IIS 7.0(在 Windows Server 2008 上)
- IIS 7.5(在 Windows Server 2008 R2 上)
- IIS 8.0(在 Windows Server 2012 上)
- IIS 8.5(在 Windows Server 2012 R2 上)
- IIS 10.0(在 Windows Server 2016 上)
产品 - IIS 7.0、IIS 7.5、IIS 8.0、IIS 8.5、IIS 10.0
MOF 文件 WebAdministration.mof

另请参阅