Internet Information Services (IIS) 9 permet aux développeurs de configurer facilement des modules de code natifs et gérés qui traitent les demandes destinées au serveur Web. Pour que les processus de travail puissent les charger, les modules doivent être correctement configurés. Pour qu'un module soit correctement configuré, il doit avoir un nom unique et un chemin ou un type valide. Les modules gérés peuvent spécifier s'ils doivent uniquement être appelés pour les demandes destinées aux applications ASP.NET ou aux gestionnaires de code managés. S'il est spécifié, ce paramètre peut optimiser les performances.
Corriger l'inscription d'un module
Dans l'environnement IIS 10, un module est une entité logique qui peut s'abonner aux événements de serveur. Le serveur web est configuré pour charger le module au démarrage du serveur. Au cours du démarrage, le serveur demande au module de s'inscrire aux événements qui l'intéressent. L'implémentation du module est responsable de l'inscription du module pour les événements qu'il requiert. Si le module ne dispose pas d'un point d'entrée valide auquel le serveur peut accéder pour l'inscrire, l'inscription échoue.
Pour résoudre ce problème, procédez comme suit :
Créez une sauvegarde du fichier ApplicationHost.config. Pour ce faire, reportez-vous à la section A.
Supprimez le module de la liste des modules dans la section globalModules de ApplicationHost.config. Si le module est répertorié dans ApplicationHost.config, le serveur essaie de le charger au démarrage, et chaque processus de travail qui tente de l'utiliser ne peut pas le faire. Pour supprimer le module de la configuration, reportez-vous à la section B.
Demandez au développeur de corriger le point d'entrée dans le module, afin qu'il puisse s'inscrire avec succès sur le serveur.
Une fois le point d'entrée du module corrigé, ajoutez de nouveau le module à ApplicationHost.config.
Créer une sauvegarde du fichier ApplicationHost.config
Pour créer une sauvegarde du fichier ApplicationHost.config :
Ouvrez une fenêtre d'invite de commandes avec privilèges élevés. Cliquez sur Démarrer, pointez sur Tous les programmes, cliquez sur Accessoires, cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu'administrateur.
Passez au répertoire % Windir %\system32\inetsrv.
Tapez appcmd add backup nomSauvegarde pour sauvegarder le fichier ApplicationHost.config.
Un répertoire portant le nom de sauvegarde que vous spécifiez est créé sous le répertoire % Windir %\system32\inetsrv\backup. Si vous ne spécifiez pas de nom, appcmd génère automatiquement un nom de répertoire à l'aide de la date et de l'heure actuelles.
Supprimer le module de la configuration
Pour supprimer le module de la configuration :
Ouvrez une fenêtre d'invite de commandes avec privilèges élevés. Cliquez sur Démarrer, pointez sur Tous les programmes, cliquez sur Accessoires, cliquez avec le bouton droit sur Invite de commandes, puis cliquez sur Exécuter en tant qu’administrateur.
Passez au répertoire % Windir %\system32\inetsrv\config.
Tapez notepad ApplicationHost.config.
Dans le Bloc-notes, recherchez la section globalModules sous la section system.webServer.
Recherchez l'entrée de module ayant échoué et supprimez-la.
Enregistrez le fichier ApplicationHost.config et quittez le Bloc-notes.
Pour plus d'informations sur la section globalModules, consultez IIS 10 : élément add pour globalModules (schéma des paramètres 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>