Internet Information Services (IIS) 9 permite a los desarrolladores configurar con facilidad módulos nativos y de código administrado que procesan solicitudes realizadas al servidor web. Para que los procesos de trabajo los carguen, los módulos tienen que estar configurados correctamente. Una configuración adecuada del módulo requiere que este tenga un nombre exclusivo y un tipo o una ruta válidos. Los módulos administrados pueden especificar si solo se invocan para solicitudes a aplicaciones ASP.NET o controladores administrados. Cuando se especifique, esta configuración puede optimizar el rendimiento.
Corregir el registro de un módulo
En el entorno de IIS10, un módulo es una entidad lógica que puede suscribirse a eventos del servidor. El servidor web está configurado para cargar el módulo cuando el servidor se inicia. Durante el inicio, el servidor solicita al módulo que se registre en los eventos en los que esté interesado. La implementación del módulo es responsable de registrar el módulo para los eventos que requiera. Si el módulo no dispone de un punto de entrada válido al que pueda tener acceso el servidor para registrarlo, el registro no se podrá realizar.
Para solucionar este problema, siga estos pasos:
Cree una copia de seguridad del archivo ApplicationHost.config. Para ello, consulte la sección A.
Elimine el módulo de la lista de módulos en la sección globalModules de ApplicationHost.config. Si el módulo aparece en ApplicationHost.config, el servidor intentará cargarlo hasta que se inicie y todos los procesos de trabajo que intenten utilizarlo no podrán hacerlo. Para eliminar el módulo de la configuración, consulte la sección B.
Haga que el desarrollador corrija el punto de entrada en el módulo para que pueda registrarse con éxito en el servidor.
Una vez que el punto de entrada del módulo está corregido, vuelva a agregar el módulo a ApplicationHost.config.
Crear una copia de seguridad del archivo ApplicationHost.config
Para crear una copia de seguridad del archivo ApplicationHost.config:
Abra una ventana Símbolo del sistema con permisos elevados. Haga clic en Inicio, seleccione Todos los programas, haga clic en Accesorios, haga clic con el botón secundario en Símbolo del sistema y, a continuación, elija Ejecutar como administrador.
Cambie al directorio % Windir %\system32\inetsrv.
Escriba appcmd add backup nombreCopiaSeguridad para hacer una copia de seguridad del archivo ApplicationHost.config.
Se creará un directorio con el nombre de la copia de seguridad que haya especificado en el directorio % Windir %\system32\inetsrv\backup directory. Si no especifica un nombre, appcmd creará un nombre de directorio de manera automática con la fecha y la hora actuales.
Quitar el módulo de la configuración
Para quitar el módulo de la configuración:
Abra una ventana Símbolo del sistema con permisos elevados. Haga clic en Inicio, seleccione Todos los programas, haga clic en Accesorios, haga clic con el botón secundario en Símbolo del sistema y, a continuación, elija Ejecutar como administrador.
Cambie el directorio a % Windir %\system32\inetsrv\config.
Escriba notepad ApplicationHost.config.
En el Bloc de notas, busque la sección globalModules en la sección system.webServer.
Busque la entrada de módulo que da error y quítela.
Guarde el archivo ApplicationHost.config y salga del bloc de notas.
Para más información sobre la sección globalModules, consulte IIS 10: agregar Elemento para globalModules (Esquema de configuración de IIS).
Target | Microsoft.Windows.InternetInformationServices.10.0.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.10.0.GenerateAlertAction.SuppressedByDescription | Default |
<Rule ID="Microsoft.Windows.InternetInformationServices.10.0.Module.registration.error.detected.failed.to.find.RegisterModule.entrypoint" 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>2295</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.registration.error.detected.failed.to.find.RegisterModule.entrypoint.AlertMessage"]$</AlertMessageId>
</WriteAction>
</WriteActions>
</Rule>