Module heeft een ongeldige voorwaarde

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

Knowledge Base article:

Samenvatting

Met Internet Information Services (IIS) 9 kunnen ontwikkelaars gemakkelijk systeemeigen en beheerde codemodules configureren die aanvragen verwerken die aan de werbserver zijn ingediend. Om werkprocessen deze te kunnen laten laden, moeten de modules juist zijn geconfigureerd. Voor een juiste moduleconfiguratie is vereist dat de module een unieke naam en een geldig type of pad heeft. Beheerde modules kunnen aangeven of ze alleen moeten worden aangeroepen voor aanvragen naar ASP.NET-toepassingen of beheerde handlers. Als dat is aangegeven, kan deze instellingen de prestaties optimaliseren.

Oplossingen

De voorwaarden van een module corrigeren

Modulevermeldingen hebben een optioneel preCondition-kenmerk dat de voorwaarden kan bevatten voor de te laden module. In de preCondition kan bijvoorbeeld zijn aangegeven dat IIS de module alleen voor groepen van toepassingen kan laden die worden uitgevoerd in de geïntegreerde modus, alleen voor groepen van toepassingen die worden uitgevoerd in een ISAPI-modus of alleen voor groepen van toepassingen die een specifieke .NET Framework-versie gebruiken. Met deze laatste instelling is het mogelijk om afzonderlijke versies van de beheerde enginemodule te gebruiken voor groepen van toepassingen die verschillende versies van de CLR-runtime gebruiken.

Hier is een voorbeeld uit de sectie globalModules van het ApplicationHost.config-bestand van een modulevermelding met een voorwaardekenmerk:

<globalModules>

<add name="ManagedEngine"

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

preCondition="integratedMode,runtimeVersionv2.0,bitness32"

/>

</globalModules>

Voordat elke module wordt geladen, wordt de voorwaarde door de server geëvalueerd of deze aanwezig is in de configuratie. Als een van de laadvoorwaarden False retourneert, wordt de module niet geladen.

Dit probleem oplossen:

Een back-up maken van het bestand ApplicationHost.config

U maakt als volgt een back-up van het bestand ApplicationHost.config:

Een map met de back-upnaam die u hebt opgegeven, wordt gemaakt onder de map % Windir %\system32\inetsrv\backup. Als u geen naam opgeeft, genereert appcmd.exe automatisch een mapnaam met de huidige datum en tijd.

De modulevermelding vinden in het bestand ApplicationHost.config

U vindt de modulevermelding als volgt in het bestand ApplicationHost.config:

Zie IIS 10: Element toevoegen voor globalModules (IIS-instellingenschema) voor meer informatie over de sectie globalModules.

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>