모듈에 잘못된 전제 조건이 있습니다.

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

Knowledge Base article:

요약

IIS(인터넷 정보 서비스) 8을 사용하여 개발자는 웹 서버의 요청을 처리하는 네이티브 및 관리 코드 모듈을 손쉽게 구성할 수 있습니다. 작업 프로세스에서 모듈을 로드하려면 해당 모듈이 올바르게 구성되어 있어야 합니다. 모듈을 올바르게 구성하려면 모듈 이름이 고유해야 하며 유형 또는 경로가 유효해야 합니다. 관리 모듈은 ASP.NET 응용 프로그램 또는 관리되는 처리기에 대한 요청인 경우에만 이 모듈이 호출되는지 여부를 지정할 수 있습니다. 이 설정이 지정되면 성능이 최적화될 수 있습니다.

해결 방법

모듈의 전제 조건 수정

모듈 항목에는 모듈이 로드되는 조건을 포함할 수 있는 선택적 preCondition 특성이 있습니다. 예를 들어 preCondition에서 통합 모드로 실행되는 응용 프로그램 풀, ISAPI 모드로 실행되는 응용 프로그램 풀 또는 지정된 .NET Framework 버전을 사용하는 응용 프로그램 풀에 대해서만 IIS가 모듈을 로드하도록 지정할 수 있습니다. 이 마지막 설정은 다른 버전의 CLR 런타임을 사용하는 응용 프로그램 풀에 대해 다른 버전의 관리 엔진 모듈을 사용할 수 있도록 만듭니다.

다음은 preCondition 특성이 있는 모듈 항목의 ApplicationHost.config 파일의 globalModules 섹션 예입니다.

<globalModules>

     <add name="ManagedEngine"

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

           preCondition="integratedMode,runtimeVersionv2.0,bitness32"

      />

</globalModules>

각 모듈을 로드하기 전에 서버는 구성에 있는 전제 조건을 평가합니다. 로드 전제 조건 중 하나라도 false를 반환하는 경우 모듈이 로드되지 않습니다.

이 문제를 해결하려면:

ApplicationHost.config 파일 백업

ApplicationHost.config 파일을 백업하려면:

지정한 백업 이름의 디렉터리가 %Windir%\system32\inetsrv\backup 디렉터리에 만들어집니다. 이름을 지정하지 않으면 Appcmd.exe가 현재 날짜 및 시간을 사용하여 디렉터리 이름을 자동으로 생성합니다.

ApplicationHost.config 파일에서 모듈 항목 찾기

ApplicationHost.config 파일에서 모듈 항목을 찾으려면:

globalModules 섹션에 대한 자세한 정보는 IIS 8: globalModules(IIS 설정 스키마) 추가를 참조하세요.

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>