2008-09-01 10 views
17

J'ai le code suivant dans un fichier web.config du site IIS par défaut.Comment empêcher que le fichier web.config du site par défaut IIS soit hérité par les répertoires virtuels?

<httpModules> 
    <add type="MDL.BexWebControls.Charts.ChartStreamHandler,Charts" name="ChartStreamHandler"/> 
</httpModules> 

Puis, quand je configuration et accédez à un répertoire virtuel je reçois cette erreur

Impossible de charger le fichier ou l'assemblage « graphiques » ou une de ses dépendances. Le système ne peut pas trouver le fichier spécifié.

Le répertoire virtuel hérite des modules du fichier web.config par défaut.

Comment arrêtez-vous cet héritage?

Répondre

20

J'ai trouvé la réponse. Enveloppez la section HttpModule dans les balises d'emplacement et définissez l'attribut inheritInChildApplications sur false.

<location path="." inheritInChildApplications="false"> 
    <system.web> 
    <httpModules> 
     <add type="MDL.BexWebControls.Charts.ChartStreamHandler,Charts" name="ChartStreamHandler"/> 
    </httpModules> 
    </system.web> 
</location> 

Désormais, les répertoires virtuels n'hériteront pas des paramètres de cette section d'emplacement.

@GateKiller Il ne s'agit pas d'un autre site Web, c'est un répertoire virtuel qui permet l'héritage.

@petrich J'ai eu des résultats aléatoires en utilisant <remove />. Je dois me rappeler de l'ajouter à chaque répertoire virtuel qui est une douleur.

+0

Oui, j'ai trouvé que c'était aussi une douleur. Merci pour le conseil sur inheritInChildApplications. – rpetrich

2

Ajouter ce qui suit au fichier web.config de répertoire virtuel:

<httpModules> 
    <remove name="ChartStreamHandler"/> 
</httpModules> 
-2

According to Microsoft, d'autres sites ne héritons pas de paramètres à partir du site Web par défaut. Voulez-vous dire que vous éditez le web.config par défaut qui se trouve dans le même dossier que le fichier machine.config?

+0

Je pense que le demandeur parle d'un répertoire virtuel du site qui en hérite. – Sam

Questions connexes