A modul érvénytelen előfeltétellel rendelkezik

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

Knowledge Base article:

Összefoglalás

Az Internet Information Services (IIS) 8 lehetővé teszi a fejlesztők számára, hogy egyszerűen konfigurálják azon natív és felügyelt kódmodulokat, amelyek a webkiszolgálónak küldött kérések feldolgozását végzik. A modulokat megfelelően kell konfigurálni, hogy a munkavégző folyamatok számára betölthetők legyenek. A modulok megfelelő konfigurálásához egyedi modulnév és érvényes típus vagy útvonal szükséges. A felügyelt modulok meghatározhatják, hogy csak az ASP.NET-alkalmazásokhoz vagy felügyelt kezelőkhöz intézett kérésre indulnak-e el. A beállítás optimalizálhatja a teljesítményt, ha megadják.

Megoldások

Modul előfeltételeinek javítása

A modulbejegyzések rendelkeznek egy választható preCondition attribútummal, amely tartalmazhatja a betöltendő modulhoz tartozó feltételeket. A preCondition megadhatja például, hogy az IIS a modult csak integrált módban futó alkalmazáskészletekhez, csak ISAPI módban futó alkalmazáskészletekhez, vagy csak olyan alkalmazáskészletekhez töltse be, amelyek a .NET-keretrendszer egy adott verzióját használják. Ez a legutóbbi beállítás lehetővé teszi a felügyelt alrendszermodul különálló verzióinak használatát olyan alkalmazáskészletek esetében, amelyek a CLR futási környezet különböző verzióit használják.

Példa az ApplicationHost.config fájl globalModules szakaszából egy olyan modulbejegyzés esetében, amely rendelkezik preCondition attribútummal:

<globalModules>

     <add name="ManagedEngine"

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

           preCondition="integratedMode,runtimeVersionv2.0,bitness32"

      />

</globalModules>

Az egyes modulok betöltése előtt a kiszolgáló értékeli az előfeltételt, amennyiben létezik ilyen a konfigurációban. Ha a betöltési előfeltételek bármelyike false (hamis) értéket ad vissza, a modult nem tölti be a rendszer.

A probléma megoldása:

Biztonsági másolat készítése az ApplicationHost.config fájlról

Biztonsági másolat készítése az ApplicationHost.config fájlról:

A rendszer létrehoz egy könyvtárat a biztonsági másolat számára megadott névvel a %Windir%\system32\inetsrv\backup könyvtárban. Ha nem ad meg nevet, az Appcmd.exe automatikusan létrehoz egy könyvtárnevet az aktuális dátum és idő használatával.

A modulbejegyzés megkeresése az ApplicationHost.config fájlban

A modulbejegyzés megkeresése az ApplicationHost.config fájlban:

A globalModules szakasszal kapcsolatos további információkért tekintse meg az IIS 8: elemek hozzáadása a globalModules szakaszhoz (IIS beállítási séma) című cikket.

Element properties:

TargetMicrosoft.Windows.InternetInformationServices.6.2.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.6.2.GenerateAlertAction.SuppressedByDescription Default

Source Code:

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