Das Modul weist eine ungültige Vorbedingung auf

Microsoft.Windows.InternetInformationServices.10.0.Module.has.an.invalid.precondition (Rule)

Knowledge Base article:

Zusammenfassung

Internetinformationsdienste (IIS) 9 ermöglicht Entwicklern die problemlose Konfiguration von systemeigenen und verwalteten Codemodulen zum Verarbeiten von an den Webserver gerichteten Anforderungen. 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.

Lösungen

Korrigieren der Vorbedingungen für ein Modul

Moduleinträge weisen ein optionales Attribut "preCondition" auf, das Bedingungen für das zu ladende Modul enthalten kann. Beispielsweise kann mit dem Attribut "preCondition" angegeben werden, dass IIS das Modul nur für Anwendungspools, die im integrierten Modus ausgeführt werden, nur für Anwendungen, die im ISAPI-Modus ausgeführt werden, oder nur für Anwendungen, die eine bestimmte .NET Framework-Version verwenden, laden soll. Die letzte Einstellung ermöglicht die Verwendung einzelner Versionen des verwalteten Moduls für Anwendungspools, die verschiedenen Versionen der CLR-Laufzeit verwenden.

Nachfolgend finden Sie ein Beispiel aus dem Abschnitt "globalModules" der Datei "ApplicationHost.config" eines Moduleintrags, für den ein Attribut "precondition" festgelegt ist:

<globalModules>

<add name="ManagedEngine"

image="%Windir%\Microsoft.NET\Framework\v2.0.50727\webengine.dll"

preCondition="integratedMode,runtimeVersionv2.0,bitness32"

/>

</globalModules>

Vor dem Laden der einzelnen Module wertet der Server die Vorbedingung aus, sofern eine solche in der Konfiguration vorhanden ist. Wenn eine der Vorbedingungen für das Laden "false" zurückgibt, wird das Modul nicht geladen.

So beheben Sie dieses Problem

Sichern der Datei "ApplicationHost.config"

So sichern Sie die Datei "ApplicationHost.config"

Ein Verzeichnis mit dem von Ihnen angegebenen Sicherungsnamen wird im Verzeichnis "% Windir %\system32\inetsrv\backup" erstellt. Wenn Sie keinen Namen angeben, generiert "Appcmd.exe" automatisch unter Verwendung des aktuellen Datums und der aktuellen Uhrzeit einen Verzeichnisnamen.

Navigieren zum Moduleintrag in der Datei "ApplicationHost.config"

So navigieren Sie zum Moduleintrag in der Datei "ApplicationHost.config"

Weitere Informationen zum Abschnitt "globalModules" finden Sie unter IIS 10: add Element for globalModules (IIS Settings Schema) (IIS 10: add-Element für "globalModules" [IIS-Einstellungsschema]).

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.10.0.WebServer
CategoryAlert
EnabledTrue
Event_ID2296
Event SourceMicrosoft-Windows-IIS-W3SVC-WP
Alert GenerateFalse
RemotableTrue
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.Windows.EventProvider Default
WA WriteAction Microsoft.Windows.Server.IIS.10.0.GenerateAlertAction.SuppressedByDescription Default

Source Code:

<Rule ID="Microsoft.Windows.InternetInformationServices.10.0.Module.has.an.invalid.precondition" 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>2296</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.has.an.invalid.precondition.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>