Com os Serviços de Informação Internet (IIS) 8, os programadores podem configurar módulos de código nativo e gerido que processam pedidos efetuados ao servidor Web. Para serem carregados pelos processos de trabalho, os módulos têm de estar corretamente configurados. A configuração correta do módulo necessita que o módulo tenha um nome exclusivo e um tipo ou caminho válido. Os módulos geridos podem especificar se devem ser invocados apenas para pedidos relativos às aplicações ASP.NET ou processadores geridos. Quando especificada, esta definição pode otimizar o desempenho.
Corrigir o registo de um módulo
No ambiente do IIS 8, um módulo é uma entidade lógica que pode subscrever eventos do servidor. O servidor Web é configurado para carregar o módulo no arranque do servidor. Durante o arranque, o servidor pede ao módulo que registe eventos nos quais está interessado. A implementação do módulo é responsável pelo registo do módulo nos eventos necessários. Se o módulo não possuir um ponto de entrada válido ao qual o servidor possa aceder para registar, o registo irá falhar.
Para resolver este problema, siga estes passos:
Crie uma cópia de segurança do ficheiro ApplicationHost.config. Para fazer isto, consulte a Secção A.
Remova o módulo da lista de módulos na secção globalModules do ficheiro ApplicationHost.config. Se o módulo estiver listado no ficheiro ApplicationHost.config, o servidor irá tentar carregá-lo no arranque e cada processo de trabalho que tente utilizá-lo não o poderá fazer. Para remover o módulo da configuração, consulte a Secção B.
Peça ao programador que corrija o ponto de entrada no módulo para que o registo possa ocorrer com êxito no servidor.
Depois de o ponto de entrada do módulo ser corrigido, volte a adicionar o módulo ao ficheiro ApplicationHost.config.
Criar uma cópia de segurança do ficheiro ApplicationHost.config
Para criar uma cópia de segurança do ficheiro ApplicationHost.config:
Abra uma janela de linha de comandos elevada. Clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do rato em Linha de Comandos e depois clique em Executar como administrador.
Mude para o diretório %Windir%\system32\inetsrv.
Escreva appcmd add backup NomeCópiaSegurança para fazer a cópia de segurança do ficheiro ApplicationHost.config.
Será criado um diretório com o nome da cópia de segurança que especificou no diretório %Windir%\system32\inetsrv\backup. Se não especificar um nome, o appcmd vai criar um nome de diretório automaticamente utilizando a data e hora atuais.
Remover o módulo da configuração
Para remover o módulo da configuração:
Abra uma janela de linha de comandos elevada. Clique em Iniciar, aponte para Todos os Programas, clique em Acessórios, clique com o botão direito do rato em Linha de Comandos e depois clique em Executar como administrador.
Mude o diretório para %Windir%\system32\inetsrv\config.
Escreva notepad ApplicationHost.config.
No bloco de notas, procure a secção globalModules na secção system.webServer.
Localize a entrada do módulo com falha e remova-a.
Guarde o ficheiro ApplicationHost.config e feche o bloco de notas.
Para obter mais informações sobre a secção globalModules, veja IIS 8: adicionar Elemento para globalModules (Esquema de Definições do IIS).
Target | Microsoft.Windows.InternetInformationServices.6.2.WebServer |
Category | Alert |
Enabled | True |
Event_ID | 2295 |
Event Source | Microsoft-Windows-IIS-W3SVC-WP |
Alert Generate | False |
Remotable | True |
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
WA | WriteAction | Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.6.2.Module.registration.error.detected.failed.to.find.RegisterModule.entrypoint" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.6.2.WebServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Alert</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">Microsoft-Windows-IIS-W3SVC-WP</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>2295</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WA" TypeID="Microsoft.Windows.Server.IIS.6.2.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.6.2.Module.registration.error.detected.failed.to.find.RegisterModule.entrypoint.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>