Internet Information Services (IIS) 9 consente agli sviluppatori di configurare facilmente moduli di codici nativi e gestiti per l'elaborazione delle richieste al server Web. Affinché i processi di lavoro possano caricarli, i moduli devono essere configurati correttamente. A questo scopo, è necessario che i moduli abbiano nomi univoci e tipi o percorsi validi. I moduli gestiti possono indicare se devono essere richiamati solo per le richieste agli handler gestiti o alle applicazioni ASP.NET. Quando viene specificata questa opzione, le prestazioni possono risultare ottimizzate.
Correggere la registrazione di un modulo
Nell'ambiente IIS10 un modulo è un'entità logica che può effettuare una sottoscrizione agli eventi del server. Il server Web è configurato in modo da eseguire il caricamento del modulo all'avvio del server. Durante l'avvio, il server chiede al modulo di registrarsi per gli eventi a cui è interessato. L'implementazione del modulo è responsabile della registrazione del modulo per gli eventi desiderati. Se il modulo non dispone di un punto di accesso valido a cui il server può accedere per eseguire la registrazione, l'operazione avrà esito negativo.
Per risolvere questo problema, attenersi alla procedura seguente:
Creare una copia di backup del file ApplicationHost.config. A questo scopo, vedere la Sezione A.
Rimuovere il modulo dall'elenco dei moduli nella sezione globalModules del file ApplicationHost.config. Se il modulo compare nell'elenco in ApplicationHost.config, il server tenterà di caricarlo all'avvio e i processi di lavoro che tenteranno di utilizzarlo non saranno in grado di farlo. Per rimuovere il modulo dalla configurazione, vedere la Sezione B.
Chiedere allo sviluppatore di correggere il punto di ingresso nel modulo in modo che possa completare correttamente la registrazione con il server.
Una volta corretto il punto di ingresso, aggiungere nuovamente il modulo al file ApplicationHost.config.
Creare una copia di backup del file ApplicationHost.config
Per creare una copia di backup del file ApplicationHost.config:
Aprire una finestra del prompt dei comandi con privilegi elevati. Fare clic sul pulsante Start, selezionare Tutti i programmi, Accessori, fare clic con il pulsante destro del mouse su Prompt dei comandi, quindi scegliere Esegui come amministratore.
Passare alla directory %Windir%\system32\inetsrv.
Digitare appcmd add backup nomebackup per eseguire il backup del file ApplicationHost.config.
Una directory con il nome di backup specificato verrà creata nella directory %Windir%\system32\inetsrv\backup. Se non si specifica un nome, appcmd genera automaticamente un nome per la directory utilizzando la data e l'ora correnti.
Rimuovere il modulo dalla configurazione
Per rimuovere il modulo dalla configurazione
Aprire una finestra del prompt dei comandi con privilegi elevati. Fare clic sul pulsante Start, selezionare Tutti i programmi, Accessori, fare clic con il pulsante destro del mouse su Prompt dei comandi, quindi scegliere Esegui come amministratore.
Passare alla directory %Windir%\system32\inetsrv\config.
Digitare notepad ApplicationHost.config.
In Blocco note cercare la sezione globalModules all'interno della sezione system.webServer.
Trovare la voce del modulo che crea il problema e rimuoverla.
Salvare il file ApplicationHost.config e chiudere Blocco note.
Per altre informazioni sulla sezione globalModules, vedere IIS 10: elemento add per globalModules (schema impostazioni IIS).
Target | Microsoft.Windows.InternetInformationServices.10.0.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.10.0.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.10.0.Module.registration.error.detected.failed.to.find.RegisterModule.entrypoint" Enabled="true" Target="Microsoft.Windows.InternetInformationServices.10.0.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.10.0.GenerateAlertAction.SuppressedByDescription">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.InternetInformationServices.10.0.Module.registration.error.detected.failed.to.find.RegisterModule.entrypoint.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>