配置 Microsoft Internet 信息服务 (IIS) Web 服务器上的 ASP.NET 进程模型设置。 processModel 节只能在 Machine.config 文件中进行设置,它影响服务器上运行的所有 ASP.NET 应用程序。

  Machine.config 文件位置在:%windir%\Microsoft.NET\Framework\framework_version\CONFIG 目录下,如下图是我本机的位置:

  注意:对 processModel 元素的更改将只有在辅助进程重新启动之后才生效,而不是像其他配置元素那样在更改设置之后立即生效。

<processModel 
   enable="true|false"
   timeout="hrs:mins:secs|Infinite" 
   idleTimeout="hrs:mins:secs|Infinite"
   shutdownTimeout="hrs:mins:secs|Infinite"
   requestLimit="num|Infinite"
   requestQueueLimit="num|Infinite"
   restartQueueLimit="num|Infinite"
   memoryLimit="percent"
   webGarden="true|false"
   cpuMask="num"
   userName="<username>"
   password="<secure password>"
   logLevel="All|None|Errors"
   clientConnectedCheck="hrs:mins:secs|Infinite"
   comAuthenticationLevel="Default|None|Connect|Call| 
               Pkt|PktIntegrity|PktPrivacy"
   comImpersonationLevel="Default|Anonymous|Identify|
               Impersonate|Delegate"
   responseDeadlockInterval="hrs:mins:secs|Infinite"
   responseRestartDeadlockInterval="hrs:mins:secs|Infinite"
   autoConfig="true|false"
   maxWorkerThreads="num"
   maxIoThreads="num"
   minWorkerThreads="num"
   minIoThreads="num"
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   maxAppDomains="2000"
/>

特性和元素

特性

特性

说明

autoConfig

指定是否自动配置下列设置,以便基于计算机配置实现最佳性能:

  • maxWorkerThreads 特性。

  • maxIoThreads 特性。

  • minFreeThreads 特性。

  • minLocalRequestFreeThreads 特性。

  • <connectionManagement> 元素(网络设置) 特性。

http://support.microsoft.com/?id=821268 上的知识库文章进行设置。

此特性不影响 .NET Framework 客户端应用程序,而只影响 ASP.NET 应用程序。

autoConfig 特性可以为下列值之一。

 
定义
True 指示 ASP.NET 自动配置上述列表中的特性,以便基于计算机配置实现最佳性能。
False 指示 ASP.NET 应当使用为上述列表中的特性显式定义的值。

True。

clientConnectedCheck

指定在 ASP.NET 检查以确定客户端是否已连接前在队列中保留的请求的长度。

comAuthenticationLevel

指定 DCOM 安全的身份验证级别。

comAuthenticationLevel 特性可以为下列值之一。

 
说明
Call 指定在每一远程过程调用的开始当服务器接收请求时 DCOM 验证客户端的凭据。
Connect 指定只有在客户端与服务器建立连接时 DCOM 才验证客户端的凭据。
Default 指定 DCOM 使用其标准安全协商算法确定身份验证级别。
None 不指定身份验证。
Pkt Pkt 身份验证。
PktIntegrity 指定 DCOM 验证和确认未修改在客户端和服务器之间传输的任何数据。
PktPrivacy 指定 DCOM 验证所有以前的级别并加密每一远程过程调用的参数值。

Connect。

comImpersonationLevel

指定 COM 安全的身份验证级别。

comImpersonationLevel 特性可以为下列值之一。

 
说明
Anonymous Anonymous。
Default 指定 DCOM 使用其标准安全协商算法确定模拟级别。
Delegate 当在该级别模拟时,可以让模拟标记穿过任意数目的计算机边界。
Identify 服务器可以模拟客户端以进行访问控制列表 (ACL) 检查,但是无法作为客户端访问系统对象。
Impersonate 当在该级别模拟时,模拟标记可以只横穿一个计算机边界。

Impersonate。

cpuMask

这是默认行为。

enable

指定是否启用进程模型。

enable 特性可以为下列值之一。

 
说明
True 指示进程模型已启用。
False 指示进程模型未启用。

true。

idleTimeout

sec) 指定不活动期限,在该不活动期限后,ASP.NET 将自动结束辅助进程。

Infinite。

logLevel

指定要记录到事件日志的事件类型。

logLevel 特性可以为下列值之一。

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

Errors。

maxAppDomains

指定一个进程中允许的应用程序域的最大数目。

2000。

2000。

maxIoThreads

minFreeThread 特性设置。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

100。

20。

maxWorkerThreads

minFreeThread 特性设置。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

100。

20。

memoryLimit

指定在 ASP.NET 启动新进程和重新分配现有请求前,辅助进程可以使用的最大内存大小。该属性的单位为相对于总系统内存的百分比。

60。

minIoThreads

maxIoThreads。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

1。

minWorkerThreads

maxWorkerThreads。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

1。

password

Machine 的更多信息,以及有关在注册表中存储加密的辅助进程凭据的信息。

Note
有关更多信息,请参见本文档后面的“在注册表中存储用户名和密码”。

AutoGenerate。

pingFrequency

pingTimeout 时间间隔内该辅助进程没有运行,将重新启动该辅助进程。

Infinite。

pingTimeout

pingTimeout 间隔内没有响应,则重新启动该进程。

Infinite。

requestLimit

指定 ASP.NET 自动启动新辅助进程以代替当前辅助进程前允许的请求的数目。

Infinite。

requestQueueLimit

指定队列中允许的请求数,超过此数目后,ASP.NET 将开始向新请求返回“503 - 服务器太忙”消息。

5000。

responseDeadlockInterval

sec) 指定时间间隔,在该时间间隔后,如果满足以下条件,进程将重新启动:

  • 有排队的请求。

  • 在此时间间隔期间没有响应。

responseRestartDeadlockInterval

responseDeadlockInterval 特性控制。

restartQueueLimit

如果是完全关闭或标准的重新启动,此设置将不适用。

10。

serverErrorMessageFile

如果该特性不存在,则使用默认的“服务器不可用”消息。

shutdownTimeout

sec 字符串格式表示。

timeout

指定分钟数,超过该分钟数 ASP.NET 将启动新的辅助进程以替代当前辅助进程。

Infinite。

userName

有关在作为域控制器的服务器上使用 ASP.NET 的信息,请参见本主题后面的“备注”。

Note
有关更多信息,请参见本文档后面的“在注册表中存储用户名和密码”。

webGarden

(多处理器 Web 服务器称作网络园)。

webGarden 特性可以为下列值之一。

 
说明
True cpuMask 特性用于指定哪些 CPU 符合运行 ASP.NET 进程的条件。
False cpuMask 特性被忽略,并且只运行一个辅助进程。

False。

子元素

无。

父元素

 

元素

说明

system.web

指定配置文件中 ASP.NET 配置设置的根元素,并包含用于配置 ASP.NET Web 应用程序和控制应用程序行为方式的配置元素。

 

要查看英语原文,请勾选“英语”复选框。也可将鼠标指针移到文本上,在弹出窗口中显示英语原文。
翻译
英语
本文档已存档,并且将不进行维护。
 

[本文档仅供预览,在以后的发行版中可能会发生更改。包含的空白主题用作占位符。]

processModel 节只能在 Machine.config 文件中进行设置,它影响服务器上运行的所有 ASP.NET 应用程序。

警告

有关更多信息,请参见本主题后面的“备注”。

 
复制
<processModel 
   enable="true|false"
   timeout="hrs:mins:secs|Infinite" 
   idleTimeout="hrs:mins:secs|Infinite"
   shutdownTimeout="hrs:mins:secs|Infinite"
   requestLimit="num|Infinite"
   requestQueueLimit="num|Infinite"
   restartQueueLimit="num|Infinite"
   memoryLimit="percent"
   webGarden="true|false"
   cpuMask="num"
   userName="<username>"
   password="<secure password>"
   logLevel="All|None|Errors"
   clientConnectedCheck="hrs:mins:secs|Infinite"
   comAuthenticationLevel="Default|None|Connect|Call| 
               Pkt|PktIntegrity|PktPrivacy"
   comImpersonationLevel="Default|Anonymous|Identify|
               Impersonate|Delegate"
   responseDeadlockInterval="hrs:mins:secs|Infinite"
   responseRestartDeadlockInterval="hrs:mins:secs|Infinite"
   autoConfig="true|false"
   maxWorkerThreads="num"
   maxIoThreads="num"
   minWorkerThreads="num"
   minIoThreads="num"
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   maxAppDomains="2000"
/>

以下几节描述了特性、子元素和父元素。

特性

 

特性

说明

autoConfig

指定是否自动配置下列设置,以便基于计算机配置实现最佳性能:

  • maxWorkerThreads 特性。

  • maxIoThreads 特性。

  • minFreeThreads 特性。

  • minLocalRequestFreeThreads 特性。

  • <connectionManagement> 元素(网络设置) 特性。

http://support.microsoft.com/?id=821268 上的知识库文章进行设置。

此特性不影响 .NET Framework 客户端应用程序,而只影响 ASP.NET 应用程序。

autoConfig 特性可以为下列值之一。

 
定义
True 指示 ASP.NET 自动配置上述列表中的特性,以便基于计算机配置实现最佳性能。
False 指示 ASP.NET 应当使用为上述列表中的特性显式定义的值。

True。

clientConnectedCheck

指定在 ASP.NET 检查以确定客户端是否已连接前在队列中保留的请求的长度。

comAuthenticationLevel

指定 DCOM 安全的身份验证级别。

comAuthenticationLevel 特性可以为下列值之一。

 
说明
Call 指定在每一远程过程调用的开始当服务器接收请求时 DCOM 验证客户端的凭据。
Connect 指定只有在客户端与服务器建立连接时 DCOM 才验证客户端的凭据。
Default 指定 DCOM 使用其标准安全协商算法确定身份验证级别。
None 不指定身份验证。
Pkt Pkt 身份验证。
PktIntegrity 指定 DCOM 验证和确认未修改在客户端和服务器之间传输的任何数据。
PktPrivacy 指定 DCOM 验证所有以前的级别并加密每一远程过程调用的参数值。

Connect。

comImpersonationLevel

指定 COM 安全的身份验证级别。

comImpersonationLevel 特性可以为下列值之一。

 
说明
Anonymous Anonymous。
Default 指定 DCOM 使用其标准安全协商算法确定模拟级别。
Delegate 当在该级别模拟时,可以让模拟标记穿过任意数目的计算机边界。
Identify 服务器可以模拟客户端以进行访问控制列表 (ACL) 检查,但是无法作为客户端访问系统对象。
Impersonate 当在该级别模拟时,模拟标记可以只横穿一个计算机边界。

Impersonate。

cpuMask

这是默认行为。

enable

指定是否启用进程模型。

enable 特性可以为下列值之一。

 
说明
True 指示进程模型已启用。
False 指示进程模型未启用。

true。

idleTimeout

sec) 指定不活动期限,在该不活动期限后,ASP.NET 将自动结束辅助进程。

Infinite。

logLevel

指定要记录到事件日志的事件类型。

logLevel 特性可以为下列值之一。

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

Errors。

maxAppDomains

指定一个进程中允许的应用程序域的最大数目。

2000。

2000。

maxIoThreads

minFreeThread 特性设置。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

100。

20。

maxWorkerThreads

minFreeThread 特性设置。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

100。

20。

memoryLimit

指定在 ASP.NET 启动新进程和重新分配现有请求前,辅助进程可以使用的最大内存大小。该属性的单位为相对于总系统内存的百分比。

60。

minIoThreads

maxIoThreads。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

1。

minWorkerThreads

maxWorkerThreads。

Improving ASP.NET Performance(提高 ASP.NET 性能)中的“Threading Explained”(线程处理说明)。

1。

password

Machine 的更多信息,以及有关在注册表中存储加密的辅助进程凭据的信息。

Note
有关更多信息,请参见本文档后面的“在注册表中存储用户名和密码”。

AutoGenerate。

pingFrequency

pingTimeout 时间间隔内该辅助进程没有运行,将重新启动该辅助进程。

Infinite。

pingTimeout

pingTimeout 间隔内没有响应,则重新启动该进程。

Infinite。

requestLimit

指定 ASP.NET 自动启动新辅助进程以代替当前辅助进程前允许的请求的数目。

Infinite。

requestQueueLimit

指定队列中允许的请求数,超过此数目后,ASP.NET 将开始向新请求返回“503 - 服务器太忙”消息。

5000。

responseDeadlockInterval

sec) 指定时间间隔,在该时间间隔后,如果满足以下条件,进程将重新启动:

  • 有排队的请求。

  • 在此时间间隔期间没有响应。

responseRestartDeadlockInterval

responseDeadlockInterval 特性控制。

restartQueueLimit

如果是完全关闭或标准的重新启动,此设置将不适用。

10。

serverErrorMessageFile

如果该特性不存在,则使用默认的“服务器不可用”消息。

shutdownTimeout

sec 字符串格式表示。

timeout

指定分钟数,超过该分钟数 ASP.NET 将启动新的辅助进程以替代当前辅助进程。

Infinite。

userName

有关在作为域控制器的服务器上使用 ASP.NET 的信息,请参见本主题后面的“备注”。

Note
有关更多信息,请参见本文档后面的“在注册表中存储用户名和密码”。

webGarden

(多处理器 Web 服务器称作网络园)。

webGarden 特性可以为下列值之一。

 
说明
True cpuMask 特性用于指定哪些 CPU 符合运行 ASP.NET 进程的条件。
False cpuMask 特性被忽略,并且只运行一个辅助进程。

False。

子元素

无。

父元素

 

元素

说明

system.web

指定配置文件中 ASP.NET 配置设置的根元素,并包含用于配置 ASP.NET Web 应用程序和控制应用程序行为方式的配置元素。

在重新启动 IIS 辅助进程之前将不应用对此节的更改。

但是,以下特性仍是适用的:

  autoConfig

  maxIoThreads

  maxWorkerThreads

  minIoThreads

  minWorkerThreads

  requestQueueLimit

  responseDeadlockInterval

“应用程序池的进程模型配置”。

  若要在 IIS 6.0 中配置进程标识、循环或其他进程模型值,请使用 Internet 服务管理器用户界面来配置应用程序的 IIS 辅助进程。

配置 IIS 6 以在 IIS 5.0 隔离模式下运行 ASP.NET 时,无法使用 ASP.NET 2.0。

responseDeadlockInterval 特性。

域控制器和本地 ASPNET 帐户

而 ASP.NET 应用程序以其他标识运行,如下所示:

  • 在运行 Windows 2000 Server 的域控制器上,ASP.NET 应用程序以 IWAM_machinename 标识运行。

  • 在运行 Windows Server 2003 的域控制器上,ASP.NET 应用程序以 NETWORK SERVICE 标识运行(与 IIS 隔离模式无关)。

知识库 (KB) 搜索页面并参见文章 Q315158“ASP.NET Does Not Work with the Default ASPNET Account on a Domain Controller”(ASP.NET 不与域控制器上的默认 ASPNET 帐户一起工作)。

在注册表中存储用户名和密码

password 特性。

 
复制
   userName="registry:HKLM\Software\AspNetProcess,Name"
   password="registry:HKLM\Software\AspNetProcess,Pwd"

如果配置格式不正确,则 ASP.NET 不会启动辅助进程,然后将显示造成当前帐户创建失败的代码路径。

ASP.NET 网站并搜索“aspnet_setreg”。

由于密钥会被作为 SYSTEM 运行的 ASP.NET 进程读取,因此请设置以下权限:

 
复制
Administrators:F
SYSTEM:F
CREATOR OWNER:F 
ProcessAccount: R

这有助于以下列方法保护数据:

  • ACL 权限要求访问数据的身份是 Administrator。

  • 攻击者必须在服务器上运行代码 (CryptUnprotectData) 才能恢复帐户的凭据。

默认配置

而是由应用程序返回的默认配置。

<processModel 
   enable="true" 
   timeout="Infinite" 
   idleTimeout="Infinite" 
   shutdownTimeout="00:00:05" 
   requestLimit="Infinite" 
   requestQueueLimit="5000" 
   restartQueueLimit="10" 
   memoryLimit="60" 
   webGarden="false" 
   cpuMask="0xffffffff" 
   userName="machine" 
   password="AutoGenerate" 
   logLevel="Errors" 
   clientConnectedCheck="00:00:05" 
   comAuthenticationLevel="Connect" 
   comImpersonationLevel="Impersonate" 
   responseDeadlockInterval="00:03:00" 
   responseRestartDeadlockInterval="00:03:00" 
   autoConfig="true" 
   maxWorkerThreads="20" 
   maxIoThreads="20" 
   minWorkerThreads="1" 
   minIoThreads="1" 
   serverErrorMessageFile="" 
   pingFrequency="Infinite" 
   pingTimeout="Infinite" 
   asyncOption="20" 
   maxAppDomains="2000" 
/>  

processModel 元素是在 .NET Framework 1.0 和 1.1 版的 Machine.config 文件中配置的。

<processModel
   enable="true"
   timeout="Infinite"
   idleTimeout="Infinite"
   shutdownTimeout="0:00:05" 
   requestLimit="Infinite" 
   requestQueueLimit="5000" 
   restartQueueLimit="10"
   memoryLimit="60" 
   webGarden="false"
   cpuMask="0xffffffff"
   userName="machine"
   password="AutoGenerate"
   logLevel="Errors"
   clientConnectedCheck="0:00:05"
   comAuthenticationLevel="Connect"
   comImpersonationLevel="Impersonate"
   responseRestartDeadlockInterval="00:09:00"
   responseDeadlockInterval="00:03:00" 
   <!-- In the .NET Framework version 1.1, the next two attributes are
        set to 20. -->
   maxWorkerThreads="25"
   maxIoThreads="25"
/>

 

配置节处理程序

ProcessModelSection

配置成员

ProcessModel

可配置的位置

Machine.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

 

  参考地址:https://msdn.microsoft.com/zh-cn/library/7w2sway1.aspx

相关文章:

  • 2021-12-30
  • 2021-11-02
  • 2021-07-21
  • 2021-10-08
  • 2021-12-30
  • 2021-12-30
  • 2021-05-28
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-30
  • 2021-12-30
  • 2022-12-23
  • 2021-07-07
  • 2021-10-03
相关资源
相似解决方案