# 级别与继承

可以通过用户界面 (UI) 或直接编辑配置数据库，在 IIS 配置数据库的各个级别对“进程回收”事件进行配置。为“进程回收”配置的所有属性都由更低级别的 IIS 配置数据库继承，除非已对更低级别进行了特别配置。

- 共用应用程序是在 W3SVC 级别与所有其他共用进程外应用程序一起配置的。
- 独立应用程序是在它们的相关网站的 AppRoot 级别配置的。

配置数据库关键字

具有四个“进程回收”专用的配置数据库关键字。下表中前三个关键字可以通过 UI 进行配置。第四个关键字 ShutdownTimeLimit 只能通过直接编辑配置数据库进行配置。

- PeriodicRestartRequests
  此属性指示应用程序应该处理的请求数。处理完这些数目的请求后将回收应用程序。详细信息，请参阅 PeriodicRestartRequests。
- PeriodicRestartTime
  此属性指示应用程序为请求提供服务的周期（以分钟为单位）。此周期过后，IIS 将回收独立的应用程序。详细信息，请参阅 PeriodicRestartRequests。
- PeriodicRestartSchedule
  此属性指定一天中的某个时间（采用 24 小时格式）。到了此时刻将回收应用程序。
详细信息，请参阅 PeriodicRestartSchedule。
- ShutdownTimeLimit
  此属性指定时间量（以秒为单位），达到回收阈值后，IIS 将等待所有旧的应用程序请求都在旧的 DLLHost.exe 进程中运行完毕。达到 ShutdownTimeLimit 时，IIS 将终止旧的 DLLHost。详细信息，请参阅 ShutdownTimeLimit。

## 应用程序安全

不通过 UI 配置“进程回收”时，应该了解 AppIsolated 配置数据库关键字，因为 AppIsolated 关键字的参数值将表明应用程序的安全级别。然后可以使用此信息确定进行“进程回收”设置的位置。可以在各个配置数据库级别配置应用程序及其安全级别。安全级别确定应用程序在什么位置获取其“进程回收”设置。

应用程序保护 | 配置数据库设置
低 (IIS) | AppIsolated = 0
中（共用） | AppIsolated = 2
高（独立） | AppIsolated = 1

下列配置数据库配置示例对在各个配置数据库级别配置“进程回收”时使用的配置数据库关键字（粗体）进行了说明。

## 配置数据库配置示例

/W3SVC
AppIsolated = (INTEGER) 0
PeriodicRestartTime = (INTEGER) 60
PeriodicRestartRequests = (INTEGER) 10000
PeriodicRestartSchedule = (STRING) “03:30” “21:30”
ShutdownTimeLimit = (INTEGER) 6000
…other default site/app settings…
/W3SVC/1
ShutdownTimeLimit = (INTEGER) 700
/W3SVC/1/root
AppIsolated = (INTEGER) 2
PeriodicRestartTime = (INTEGER) 0
…other app settings…
/W3SVC/1/root/isolatedApp
AppIsolated = (INTEGER) 1
PeriodicRestartTime = (INTEGER) 600
PeriodicRestartRequests = (INTEGER) 0
ShutdownTimeLimit = (INTEGER) 900
…other app settings…
/W3SVC/1/root/PooledApp
AppIsolated = (INTEGER) 2
…other app settings…
/W3SVC/1/root/PooledApp/WebDir
/W3SVC/1/root/inprocApp
AppIsolated = (INTEGER) 0
…other app settings…

## 理解配置数据库配置示例

- W3SVC 级别也称为 IISWebService 级别，是配置数据库中可以配置“进程回收”的最高级别。如果更低的级别没有特定的配置设置，此级别设置的配置将由更低级别继承。所有共用应用程序的回收事件都是在此级别设置的。

- W3SVC/n 级别也称为 IISWebServer 级别，是一个特定的网站，其中 n 是站点编号。站点编号从 1 开始。在此级别不能使用 UI 配置“进程回收”设置。在上面的示例中，因设置了零参数，所以在 /W3SVC/1/root 级别已禁用 PeriodicRestartTime 事件。没有对 PeriodicRestartTime 关键字进行特别设置的更低级别将继承此级别的设置。

- W3SVC/n/Root 级别也称为 IISWebVirtualDir 级别，是网站的起始点，其中 n 是站点编号。独立应用程序的“进程回收”事件可以在此级别配置，也可以在此级别配置是否禁用特定网站的进程回收文件。

- W3SVC/n/ROOT/WebVirtualDir 级别也称为 IISWebVirtualDir 级别，是网站中的虚拟目录，其中 n 是站点编号。在上面的示例中，/W3SVC/1/root/IsolatedApp 级别（其中 IsolatedApp 是虚拟目录的名称）的 PeriodicRestartRequests 设置为零参数。零参数在此级别禁用 PeriodicRestartRequests 事件。否则，/W3SVC/1/root/IsolatedApp 级别将从 /W3SVC 级别继承设置 10000。

- W3SVC/n/Root/WebVirtualDir/WebDir 级别也称为 IISWebDirectory 级别，是网站上虚拟目录中的物理目录，其中 n 是站点编号。在上面的示例中，/W3SVC/1/root/PooledApp/WebDir 在网站 1 的 PooledApp 虚拟目录中显示了目录 WebDir。因为 WebDir 从 /W3SVC/1/root/PooledApp 级别继承了 AppIsolated = 2（共用）设置，所以 WebDir 级别从 W3SVC 级别继承进程回收配置设置。

- 在上面的示例中，/W3SVC/2/root/isolatedApp 对每个回收事件（除了 PeriodicRestartSchedule 外）都配置了“进程回收”设置。由于配置了 PeriodicRestartSchedule 的下一个更高级别是 W3SVC 级别，因此将从 W3SVC 级别继承 PeriodicRestartSchedule，将在每天凌晨 03:30 和下午 9:30 执行回收。

有关创建应用程序和设置安全级别的详细信息，请参阅关于应用程序。有关设置应用程序的起始点和边界的信息，请参阅定义应用程序边界。

## 相关资源

- 配置回收事件 有关如何配置应用程序，使其在各种不同进程中运行的逐步说明。

- 关于应用程序 有关应用程序的概念性信息，它们的起始点，以及应用程序可在其中运行的各种不同进程。

- 独立应用程序 有关如何配置应用程序，使其在各种不同进程中运行的逐步说明。

- 定义应用程序边界 对如何设置应用程序的起始点和边界进行说明。

© 1997-2001 Microsoft Corporation. 保留所有权利。