Imbriquée ASP.NET l '"application" dans IIS hériter parent config valeurs?
J'ai actuellement 2 x ASP.NET 3.5 applications web IIS7 (appelons les WebParent et WebChild).
WebChild est imbriqué dans le WebParent inscription dans IIS7 et est définie comme une application (plutôt que juste un répertoire virtuel dans WebParent). Les deux utilisent actuellement leur propre (Classique) de l'application de la piscine.
Les deux WebParent et WebChild ont leur propre entièrement défini web.les fichiers de configuration dans leurs propres répertoires racine.
J'avais supposé que le fait de voir que WebChild est définie comme une "Application" dans IIS, qu'il ne serait pas héritent de la WebParent fichier de configuration. Cependant, malgré cette configuration, je vois des erreurs liées à différents éléments dans le web.config déjà en cours de définition (qui est correcte, il y a quelques éléments qui sont à la fois des fichiers de configuration, mais je pense qu'ils devraient être traités de manière totalement indépendante l'une de l'autre)?
Quelqu'un peut-il préciser les raisons pour lesquelles cela pourrait se produire?
- Ils proviennent probablement du
applicationHost.config
.
Vous devez vous connecter pour publier un commentaire.
Si elles sont répétées, vous aurez à
<remove/>
ensuite à l'enfant de l'application web.config d'abord, puis ajouter l'élément que vous souhaitez remplacer. C'est en supposant que vous aimeriez avoir une valeur différente. Si vous n'avez pas, alors il suffit d'omettre l'élément. Une chaîne de connexion serait un bon exemple de quelque chose qui est susceptible commune pour toutes les applications - si vous avez seulement besoin de le spécifier dans la racine.Exemple:
La solution exacte de votre problème dépendra de la configuration de message d'exception vous de voir. Cependant, c'est un problème typique qui peut souvent être résolu par l'utilisation de la inheritInChildApplications attribut sur l'emplacement de l'élément dans le web.config pour "WebParent". En enveloppant l'ensemble du système.section du site web à un emplacement de l'élément comme suit, vous devriez être en mesure d'éliminer le problème que vous avez décrit:
Avec IIS 7, vous voudrez aussi pour envelopper le système.Le serveur web de la section de la même façon:
Cette solution est basée sur un excellent article de blog que j'ai trouvé ici.
sectionGroup
. Je n'ai pas trouvé de travail autour desectionGroup
donc finalement utilisé IIS Module de Réécriture. A écrit à propos de mon expérience ici: [perse] bit.ly/1egxsHs<system.codedom>
doit également enveloppé si l'enfant fournit un.Je pense que le inheritInChildApplications="false" est bonne pour les cas où vous voulez toujours hériter d'une partie de la configuration de la mère.
Dans le cas où vous souhaitez arrêter complètement l'héritage (comme dans ce cas, si je ne me trompe pas), je vous suggère d'utiliser séparer les 2 pools d'applications pour les 2 applications, puis appliquer un pas très bien documenté paramètre dans le applicationHost.fichier de config comme je l'ai expliqué dans cette question “L'entrée a déjà été ajouté” - Deux différents Pools d'applications
Suivre Scott vous conseiller et également vous assurer que vous avez cliqué avec le bouton droit WebChild dans IIS et sélectionné Convertir à l'Application.