2009-05-26 6 views
6

« les entrées ne peuvent être réorganisées parce que l'un ou plusieurs d'entre eux ont été enfermés dans le fichier parent »IIS 7.0, le module changement d'ordre

dans IIS 7.0 gestionnaire lorsque je tente de changer l'ordre des modules dans mon application, il donne ce message.

comment puis-je changer l'ordre des modules? c'est possible? Vous ne pouvez pas le faire au niveau du serveur au lieu du niveau du site?

Répondre

3

+0

Que voulez-vous dire? SVP donner plus de détails. – Yaya

+0

Au lieu de définir l'ordre des modules au niveau du site dans le gestionnaire IIS. Faites-le au niveau du serveur. – MartinHN

+4

Et si un module que nous voulons commander n'existe pas au niveau du serveur, mais où il existe, nous voulons qu'il s'exécute avant les modules qui existent au niveau du serveur? – cytinus

1

Pour modifier l'ordre des modules d'un site, vous devez d'abord déverrouiller les modules concernés au niveau du serveur. Parce que vous ne savez pas vraiment quels modules sont affectés, je les déverrouille généralement tous. La façon la plus simple de le faire est avec un script PowerShell (si vous êtes encore sur IIS7, vous devez télécharger le PowerShell IIS snapin).

Enregistrez ce qui suit dans un fichier texte: déverrouiller-modules.ps1

Import-Module WebAdministration 

Get-WebConfiguration ` 
-pspath 'MACHINE/WEBROOT/APPHOST' ` 
-filter "system.webServer/modules/add" -recurse | ` 
where {$_.PSPath -eq 'MACHINE/WEBROOT/APPHOST' -and $_.Type -eq ''} ` 
| foreach {   
    $filter = "system.webServer/modules/add[@name='" + $_.Name + "']"  
    Remove-WebConfigurationLock -pspath 'MACHINE/WEBROOT/APPHOST' -filter $filter -verbose 
} 

Ouvrez une invite PowerShell en tant qu'administrateur élevé et exécutez le script.

Le script parcourt tous les modules au niveau du serveur. Habituellement, seuls les modules natifs (avec la propriété 'type' vide) sont verrouillés. Débloquez-les tous.

Vous pouvez maintenant apporter des modifications à l'ordre du module au niveau du site.

Soyez prudent lors du réapprovisionnement, si vous changez l'ordre de certains modules du système, IIS peut ne plus fonctionner comme prévu.

Rappelez-vous également que si vous apportez des modifications aux modules au niveau du serveur, le site n'en héritera plus et vous devrez également les appliquer au niveau du site.

+0

Est-il possible de changer l'ordre d'exécution à partir d'une ligne de commande ou d'une powershell? – Maverick

+0

Le script m'a aidé, mais après l'exécution je reçois "La définition du manifeste de l'assembly localisé ne correspond pas à la référence d'assembly." (Exception from HRESULT: 0x80131040) "souvent lorsque je navigue dans le composant logiciel enfichable IIS config, et chaque fois à l'authentification. –

+0

Mais un redémarrage du système semble avoir résolu le problème. –

Questions connexes