2009-10-27 3 views
1

Je souhaite empêcher la configuration parente dans notre application IIS 7 de pousser la section suivante vers n'importe quel sous-web.configs dans n'importe quelle application de l'application parente.Web.Config Inheritance Problème

<configSections> 
     <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
      <sectionGroup name="scripting" type="System.Web.Configuration.ScriptingSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
       <section name="scriptResourceHandler" type="System.Web.Configuration.ScriptingScriptResourceHandlerSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
       <sectionGroup name="webServices" type="System.Web.Configuration.ScriptingWebServicesSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"> 
        <section name="jsonSerialization" type="System.Web.Configuration.ScriptingJsonSerializationSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="Everywhere" /> 
        <section name="profileService" type="System.Web.Configuration.ScriptingProfileServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
        <section name="authenticationService" type="System.Web.Configuration.ScriptingAuthenticationServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
        <section name="roleService" type="System.Web.Configuration.ScriptingRoleServiceSection, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" allowDefinition="MachineToApplication" /> 
       </sectionGroup> 
      </sectionGroup> 
     </sectionGroup> 
    </configSections> 

La raison pour laquelle j'ai besoin de supprimer cette section est parce que la sous-application n'en a pas besoin ou ne l'utilise même pas. Ainsi, lorsque le parent passe vers le bas et je tente d'exécuter cette sous application, je reçois les points suivants lors de l'exécution:

Unable to cast object of type 'System.Web.Configuration.ScriptingScriptResourceHandlerSection' to type 'System.Web.Configuration.ScriptingScriptResourceHandlerSection' 

Je ne vois aucun moyen d'empêcher les configSections d'être appliquée vers le bas pour web.configs d'application de l'enfant. Vous ne pouvez pas l'envelopper avec <location> autour de cette section particulière et l'ajout d'un <clear/> ne provoque qu'une autre message d'erreur qui est:

The configuration section 'appSettings' cannot be read because it is missing a section declaration 

Répondre

1

Je crois que votre erreur d'exécution est causé par autre chose ... comme un conflit d'assemblage d'une sorte ou juste un assemblage manquant. L'extrait web.config que vous avez posté existe presque textuellement dans plusieurs de mes projets dont j'ai hérité et fonctionne correctement avec les sous-applications. Cependant, ils référencent les anciennes versions 1.0.

Le message d'erreur n'a même pas de sens ... "ne peut pas lancer le type XYZ pour taper XYZ." Vraiment? Tu ne peux pas? Mais ils sont du même type! : |

+0

oui j'avais besoin d'installer ASP.NET 1.0 AJAX – PositiveGuy

2

De plus les conseils, vous pouvez arrêter les applications de l'enfant d'hériter en ajoutant cela à la racine web.config

<location path="." inheritInChildApplications="false"> 
... 
</location> 

Comme here documenté.

+0

Je sais que ce n'était pas la réponse acceptée, mais c'était exactement ce que je cherchais et correspond à la question énoncée (même si je pense que le demandeur avait un autre problème). – Zack