Classe HandlerAction
Expõe o conjunto de configurações para manipuladores.
Sintaxe
class HandlerAction : CollectionElement
Métodos
Essa classe não contém métodos.
Propriedades
A tabela a seguir lista as propriedades expostas pela classe HandlerAction
.
Nome | Descrição |
---|---|
AllowPathInfo |
Um valor boolean de leitura/gravação. true se o manipulador processará informações de caminho completo em um URI (Uniform Resource Identifier); caso contrário, false . O padrão é false .Por exemplo, quando true , essa propriedade permitirá que o manipulador processe um caminho completo como “/vdir/myisapi.dll/zip”; quando false , essa propriedade permitirá apenas o caminho parcial “/zip”. |
Modules |
Um valor string de leitura/gravação que especifica o módulo para o qual você deseja mapear um arquivo ou extensão. O padrão é null . |
Name |
Um valor string de leitura/gravação obrigatório e exclusivo que especifica um nome exclusivo para o mapeamento do manipulador. A única propriedade de chave. |
Path |
Um valor string de leitura/gravação que especifica uma extensão de arquivo ou nome de arquivo com extensão do tipo de arquivo a ser manipulado. O padrão é null . |
PreCondition |
Um valor string de leitura/gravação que opcionalmente especifica as condições sob as quais o manipulador pode ser executado. Os valores possíveis estão listados posteriormente na seção Comentários. |
RequireAccess |
Uma enumeração sint32 de leitura/gravação que especifica os requisitos de acesso do manipulador. Os valores possíveis estão listados posteriormente na seção Comentários. |
ResourceType |
Uma enumeração sint32 de leitura/gravação que especifica o tipo de mapeamento para o manipulador. Os valores possíveis estão listados posteriormente na seção Comentários. |
ResponseBufferLimit |
Um valor uint32 de leitura/gravação que define o tamanho máximo, em bytes, do buffer de resposta para um manipulador de solicitação. Se o buffer de resposta estiver habilitado na propriedade Buffer da classe PagesSection, a propriedade ResponseBufferLimit controlará o número máximo de bytes que uma página ASP pode gravar no buffer de resposta antes de ocorrer uma liberação. O padrão é 4194304 bytes. |
ScriptProcessor |
Um valor string de leitura/gravação que especifica o caminho completo para o arquivo de .dll de extensão ISAPI ou arquivo de .exe CGI que processa a solicitação, se apropriado. Se você especificar essa propriedade, deverá especificar “ISAPIModule” ou “CGIModule” na propriedade Modules . O padrão é null . |
Type |
Um valor string de leitura/gravação que especifica o caminho do namespace de um manipulador gerenciado. O tipo especificado deve ser um tipo gerenciado válido que esteja no cache de assembly global, no diretório Bin do aplicativo ou no diretório app_code. O padrão é null . |
Verb |
Um valor string de leitura/gravação que especifica uma lista delimitada por vírgulas de verbos. Use essa propriedade se desejar que o mapeamento seja aplicado a tipos de solicitação específicos. O padrão é null . |
Subclasses
Essa classe não contém subclasses.
Comentários
As instâncias dessa classe estão contidas na propriedade Handlers
da classe HandlersSection.
A tabela a seguir lista os possíveis valores da propriedade Precondition
. O padrão é null
.
Observação
A avaliação de uma pré-condição é uma lógica AND
dos componentes. Como qualquer pré-condição desconhecida é avaliada como false
, a presença de uma pré-condição desconhecida fará com que ela seja ignorada.
Valor | Descrição |
---|---|
appPoolName=pool1;pool2 | O manipulador será usado para qualquer pool de aplicativos nomeado na lista delimitada por ponto e vírgula. |
appPoolName!=pool1;pool2 | O manipulador não será usado para qualquer pool de aplicativos nomeado na lista delimitada por ponto e vírgula. |
bitness32 | A entrada do manipulador aplica-se somente a processos de trabalho de 32 bits. Para computadores de 64 bits, você deve usar esse valor para especificar quais pools de aplicativos são executados no modo de 32 bits. |
bitness64 | O manipulador se aplica somente a processos de trabalho de 64 bits. Para computadores de 64 bits, você deve usar esse valor para especificar quais pools de aplicativos são executados no modo de 64 bits. |
integratedMode | O manipulador será usado somente para pools de aplicativos no modo integrado. |
ISAPIMode | O manipulador será usado somente para pools de aplicativos no modo ISAPI. |
runtimeVersion | O manipulador será usado somente para pools de aplicativos que carregam uma determinada versão do CLR (Common Language Runtime). Para habilitar essa pré-condição, acrescente uma cadeia de caracteres no formato vMajorVersion.MinorVersion para a cadeia de caracteres "runtimeVersion" (por exemplo, "runtimeVersionv2.0"). |
A tabela a seguir lista os possíveis valores da propriedade RequireAccess
. O padrão é 3 (Script
).
Observação
As configurações na propriedade AccessPolicy
da classe HandlersSection determinam quais direitos são permitidos e, portanto, quais manipuladores podem ser executados.
Valor | Palavra-chave | Descrição |
---|---|---|
0 | None |
O manipulador não tem requisitos de acesso. |
1 | Read |
O manipulador requer permissão de leitura. |
2 | Write |
O manipulador requer permissão de gravação. |
3 | Script |
O manipulador requer direitos de script. |
4 | Execute |
O manipulador requer direitos de executável. |
A tabela a seguir lista os possíveis valores da propriedade ResourceType
. O padrão é 3 (Unspecified
).
Observação
Essa propriedade é rotulada Tipo de caminho no Gerenciador do IIS.
Valor | Palavra-chave | Descrição |
---|---|---|
0 | File |
O mapeamento é para um arquivo. Se a solicitação de entrada não for mapeada para um arquivo físico no disco, a solicitação não será passada para o manipulador. |
1 | Directory |
O mapeamento é para um diretório. Se a solicitação de entrada não for mapeada para uma pasta física no disco, a solicitação não será passada para o manipulador. |
2 | Either |
O mapeamento é para um arquivo ou um diretório. Se a solicitação de entrada não for mapeada para um arquivo ou uma pasta física no disco, a solicitação não será passada para o manipulador. |
3 | Unspecified |
O tipo de mapeamento não está especificado. A solicitação é passada para o manipulador, independentemente de a solicitação ser mapeada ou não para um arquivo físico ou pasta no disco. Use essa configuração se você estiver mapeando seu manipulador para um nome de arquivo (por exemplo, “MyHandler.axd”) que você sabe que não existe no disco. |
Exemplo
O exemplo a seguir adiciona três categorias diferentes de manipuladores à seção <handlers>
: um manipulador de mapa de script herdado, dois manipuladores de módulo nativos e um manipulador gerenciado.
Observação
Adicionar ou remover um elemento de configuração altera a seção de configuração subjacente, mas não a variável de objeto no script que representa a seção de configuração. Para que a alteração seja exibida nos seus scripts, você deve chamar o método Refresh_
do WMI na variável de objeto, depois de fazer a alteração. Essa ação atualizará a variável de objeto com os dados mais recentes do repositório de configuração.
' Connect to the WMI WebAdministration namespace.
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
' Get the <handlers> section.
Set oSite = oWebAdmin.Get("Site.Name='Default Web Site'")
oSite.GetSection "HandlersSection", oHandlersSection
' Display the old list of handlers.
WScript.Echo "---[Old Handler List]---"
Call DisplayHandlers
' Create a legacy script map handler.
' The required properties are Name, Modules, and ScriptProcessor.
Set oHandler = oWebAdmin.Get("HandlerAction").SpawnInstance_
oHandler.Name = "ASPClassic"
oHandler.Path="*.asp"
oHandler.Verb="GET,HEAD,POST"
oHandler.Modules="ISAPIModule"
oHandler.ResourceType= 0 '0 is "File"
oHandler.ScriptProcessor = "%windir%\system32\inetsrv\asp.dll"
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Create a native module handler for static files.
' The required properties are Name, Modules, and Path.
Set oHandler = oWebAdmin.Get("HandlerAction").SpawnInstance_
oHandler.Name = "StaticFile"
oHandler.Path="*"
oHandler.Verb="*"
oHandler.Modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule"
oHandler.ResourceType=2
oHandler.RequireAccess=1
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Create a native module handler for ISAPI DLLs.
' The required properties are Name, Modules, and Path.
oHandler.Name = "ISAPI-dll"
oHandler.Path="*.dll"
oHandler.Verb="*"
oHandler.Modules="ISAPIModule"
oHandler.ResourceType=0
oHandler.RequireAccess=4
oHandler.AllowPathInfo=True
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Add a managed handler.
' The required properties are Name, Path, and Type.
Set oHandler = oWebAdmin.Get("HandlerAction").SpawnInstance_
oHandler.Name = "TraceHandler-Integrated"
oHandler.Path="trace.axd"
oHandler.Verb="GET,HEAD,POST"
oHandler.Type="System.Web.Handlers.TraceHandler"
oHandler.PreCondition="integratedMode"
' Add the handler to the <handlers> section.
oHandlersSection.Add "Handlers", oHandler
' Call the WMI Refresh_ method to update the oHandlersSection object variable.
oHandlersSection.Refresh_
' Display the new list of handler names.
WScript.Echo "---[New Handler List]---"
Call DisplayHandlers
' Provide a sub to display the handler names.
Sub DisplayHandlers
For Each oHandler In oHandlersSection.Handlers
WScript.Echo "Name: " & oHandler.Name
Next
WScript.Echo
End Sub
Hierarquia de herança
HandlerAction
Requisitos
Tipo | Descrição |
---|---|
Cliente | – IIS 7.0 no Windows Vista – IIS 7.5 no Windows 7 – IIS 8.0 no Windows 8 – IIS 10.0 no Windows 10 |
Servidor | – IIS 7.0 no Windows Server 2008 – IIS 7.5 no Windows Server 2008 R2 – IIS 8.0 no Windows Server 2012 – IIS 8.5 no Windows Server 2012 R2 – IIS 10.0 no Windows Server 2016 |
Product | – IIS 7.0, IIS 7.5, IIS 8.0, IIS 8.5, IIS 10.0 |
Arquivo MOF | WebAdministration.mof |
Confira também
Classe AccessSection
Classe CollectionElement
Classe HandlersSection
Método IScriptMapInfo::GetAllowPathInfoForScriptMappings