ApplicationPool Class1

表示 IIS 应用程序池。

语法

class ApplicationPool : Object  

方法

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

名称 描述
创建 创建应用程序池。
GetState 返回应用程序池的运行时状态。
Recycle 回收应用程序池。
RevertToParent 将应用程序池的一个或多个配置值还原为其父应用程序池的配置值。
Start 启动应用程序池。
停止 停止应用程序池。

属性

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

名称 描述
AutoStart 一个读/写 boolean 值。 如果 World Wide Web 发布服务(WWW 服务)将在创建应用程序池或启动 IIS 时自动启动应用程序池,则为 true;否则为 false。 默认为 true
Cpu 一个 ApplicationPoolProcessorSettings 对象,其中包含应用程序池的 CPU 设置。
Enable32BitAppOnWin64 一个读/写 boolean 值。 如果 32 位应用程序(托管和本机)可在 64 位版本的 Windows 上运行,则为 true;否则为 false。 默认为 false
Failure 一个 ApplicationPoolFailureSettings 对象,用于定义确定应用程序池或工作进程发生故障时要执行的操作的属性。
ManagedPipelineMode 一个读/写 sint32 值,用于指示托管管道模式。 “注解”部分列出了可能的值。
ManagedRuntimeVersion 一个读/写 string 值,包含应用程序池预加载的公共语言运行时 (CLR) 版本。 默认值为“v2.0”。 如果该属性写入其中,IIS 将回收应用程序池,并为其加载新指定的 .NET Framework 版本。
Name 一个只读 string 值,包含应用程序池的唯一名称。 键属性。 最大长度为 64 个字符。 可使用空格和句号,但不能使用以下字符:

& / \ : * ? | " <> [ ] + = ; , @
PassAnonymousToken 一个读/写 boolean 值。 如果 Windows Process Activation Service (WAS) 为内置 IUSR 匿名用户帐户创建令牌并将其传递到匿名身份验证模块,则为 true;否则为 false。 默认为 true

匿名身份验证模块使用该令牌模拟内置帐户。 当 PassAnonymousTokenfalse, 时,该令牌不会传递。 注意:IUSR 匿名用户帐户替代了 IIS_MachineName 匿名帐户。 IUSR 帐户可由 IIS 或其他应用程序使用。 在设置过程中,不会为其分配任何权限。
ProcessModel 一个 ProcessModelSettings 对象,用于定义 IIS 工作进程的配置设置。
QueueLength 一个读/写 uint32 值,用于指示在拒绝更多请求之前,HTTP.sys 会排入应用程序池的请求数。 默认值为 1000。 超出限制后,HTTP.sys 会拒绝额外请求,并显示 503(服务不可用)错误。
Recycling 一个 RecyclingSettings 对象,用于定义应用程序池和工作进程的回收配置设置。

子类

此类不包含子类。

注解

应用程序池是由一个或多个 URL 组成的群组,这些 URL 由一个或一组工作进程提供服务。 应用程序池为其包含的应用程序设置了边界,这意味着在指定应用程序池之外运行的任何应用程序都不会影响该应用程序池内的应用程序。

如果托管应用程序在集成模式的应用程序池中运行,服务器将使用 IIS 和 ASP.NET 的集成式请求处理管道处理该请求。 但如果托管应用程序在 ISAPI 模式的应用程序池中运行,服务器将继续通过 Aspnet_isapi.dll 路由托管代码的请求并处理请求,就像在 IIS 6.0 中一样。

大多数托管应用程序应该能在集成模式的应用程序池中成功运行,但出于兼容性原因,可能需要在 ISAPI 模式下运行应用程序。 首先在集成模式下测试应用程序,以确定是否确实需要 ISAPI 模式。

下表列出了 ManagedPipelineMode 属性可能的值。 默认值为 0 (Integrated)。

关键字 说明
0 Integrated 托管管道以集成模式运行。
1 Classic 托管管道以 ISAPI 模式运行。

示例

以下示例显示服务器上的应用程序池的名称和模式(集成或 ISAPI)。

' Connect to the WMI WebAdministration namespace.  
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")  
  
' Retrieve the application pools on the server.   
Set oAppPools = oWebAdmin.ExecQuery("SELECT * FROM ApplicationPool")  
  
For Each oAppPool In oAppPools  
    WScript.Echo "--------------------------------------"  
    WScript.Echo "Application pool name:    " & oAppPool.Name  
  
    If oAppPool.ManagedPipelineMode = 0 Then  
        sAppPoolMode = "Integrated"  
    ElseIf oAppPool.ManagedPipelineMode = 1 Then  
        sAppPoolMode = "ISAPI"  
    End if  
  
    WScript.Echo "Application pool mode:    " & sAppPoolMode  
Next  

继承层次结构

Object

Application Pool

要求

类型 描述
客户端 - 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

另请参阅

Object 类
在 IIS 7.0 中配置应用程序池