Die Internetinformationsdienste in Version 8 (IIS 8) ermöglichen Entwicklern die problemlose Konfiguration von nativen und verwalteten Codemodulen zum Verarbeiten von Anforderungen an den Webserver. Damit die Module von Arbeitsprozessen geladen werden können, müssen sie ordnungsgemäß konfiguriert werden. Für eine ordnungsgemäße Modulkonfiguration muss ein Modul einen eindeutigen Namen sowie einen gültigen Typ oder Pfad aufweisen. Bei verwalteten Modulen kann angegeben werden, ob sie nur für Anforderungen an ASP.NET-Anwendungen oder verwaltete Handler aufgerufen werden sollen. Die Festlegung dieser Einstellung kann zu einer Leistungsoptimierung führen.
Korrigieren der Registrierung eines Moduls
In der IIS8-Umgebung ist ein Modul eine logische Entität, die Serverereignisse abonnieren kann. Der Webserver ist so konfiguriert, dass das Modul beim Serverstart geladen wird. Während des Starts wird das Modul vom Server aufgefordert, sich für die Ereignisse zu registrieren, die für das Modul von Relevanz sind. Die Modulimplementierung ist dafür zuständig, das Modul für die erforderlichen Ereignisse zu registrieren. Wenn das Modul keinen gültigen Einstiegspunkt aufweist, auf den der Server für die Registrierung zugreifen kann, tritt bei der Registrierung ein Fehler auf.
Führen Sie folgende Schritte aus, um das Problem zu beheben:
Erstellen Sie eine Sicherung der Datei "ApplicationHost.config". Informationen hierzu finden Sie in Abschnitt A.
Entfernen Sie das Modul aus der Liste der Module im Abschnitt "globalModules" der Datei "ApplicationHost.config". Wenn das Modul in der Datei "ApplicationHost.config" aufgeführt wird, versucht der Server, dieses beim Starten zu laden, und für jeden Arbeitsprozess, der es verwenden will, ist keine Verwendung möglich. Informationen zum Entfernen des Moduls aus der Konfiguration finden Sie in Abschnitt B.
Lassen Sie den Einstiegspunkt im Modul vom Entwickler korrigieren, sodass es beim Server ordnungsgemäß registriert werden kann.
Wenn der Einstiegspunkt des Moduls korrigiert ist, fügen Sie das Modul der Datei "ApplicationHost.config" erneut hinzu.
Erstellen einer Sicherung der Datei "ApplicationHost.config"
So erstellen Sie eine Sicherung der Datei "ApplicationHost.config"
Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten. Klicken Sie auf "Start", zeigen Sie auf "Alle Programme", klicken Sie auf "Zubehör", klicken Sie mit der rechten Maustaste auf "Eingabeaufforderung", und klicken Sie dann auf "Als Administrator ausführen".
Wechseln Sie zum Verzeichnis "%Windir%\system32\inetsrv".
Geben Sie "appcmd add backup Sicherungsname ein, um die Datei "ApplicationHost.config" zu sichern.
Ein Verzeichnis mit dem von Ihnen angegebenen Sicherungsnamen wird unter dem Verzeichnis "%Windir%\system32\inetsrv\backup" erstellt. Wenn Sie keinen Namen angeben, generiert "appcmd" automatisch unter Verwendung des aktuellen Datums und der aktuellen Uhrzeit einen Verzeichnisnamen.
Entfernen des Moduls aus der Konfiguration
So entfernen Sie das Modul aus der Konfiguration
Öffnen Sie ein Eingabeaufforderungsfenster mit erhöhten Rechten. Klicken Sie auf "Start", zeigen Sie auf "Alle Programme", klicken Sie auf "Zubehör", klicken Sie mit der rechten Maustaste auf "Eingabeaufforderung", und klicken Sie dann auf "Als Administrator ausführen".
Wechseln Sie zum Verzeichnis "%Windir%\system32\inetsrv\config".
Geben Sie "notepad ApplicationHost.config" ein.
Wechseln Sie im Editor unterhalb des Abschnitts "system.webServer" zum Abschnitt "globalModules".
Wechseln Sie zum fehlerhaften Moduleintrag, und entfernen Sie ihn.
Speichern Sie die Datei "ApplicationHost.config", und beenden Sie Editor.
Weitere Informationen zum Abschnitt "globalModules" finden Sie unter IIS 8: add Element for globalModules (IIS Settings Schema) (IIS 8: add-Element für "globalModules" [IIS-Einstellungsschema]).
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>