Varias veces vemos la necesidad de alojar aplicaciones dentro de otras aplicaciones, es decir, como subaplicaciones. Las subaplicaciones heredan las propiedades del aplicativo, así esten alojadas en otro directorio físico; se refiere a cuendo creamos una subaplicación del tipo: http://midominio/misubaplicacion configurandolas en el servidor web IIS.
El problema radica que en cierta ocaciones se necesitan los archivos web.config del subaplicativo, y este genera errores porque algunas librerias ya estan definidas en la aplicación principal.
CONFIGURACION DE SUBAPLICACION
A. Para resolver este inconveniente, debemos colocar una etiqueta <location> con la propiedad inheritInChildApplications="false" como en el siguiente ejemplo:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<configSections>
<section name="webConnectionConfiguration"
type="System.Configuration.NameValueSectionHandler,System,Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<section name="wwBanner"
type="System.Configuration.NameValueSectionHandler,System,Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</configSections>
<connectionStrings>
<add name="WestWindAdmin" connectionString="server=.;database=WestWindAdmin;integrated security=true;" providerName="" />
</connectionStrings>
<location inheritInChildApplications="false">
<system.web>
<compilation debug="true">
<assemblies>
<add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A" />
</assemblies>
</compilation>
<pages>
<namespaces>
<add namespace="Westwind.Tools" />
<add namespace="Westwind.Web.Controls" />
</namespaces>
</pages>
</system.web>
<system.webServer>
<handlers>
<add name="wst West Wind Web Connection" path="*.wst" verb="*"
modules="IsapiModule" scriptProcessor="c:\westwind\wconnect\wc.dll" resourceType="Unspecified" />
</handlers>
<validation validateIntegratedModeConfiguration="false" />
</system.webServer>
</location>
</configuration>
Fijese que <location> contiene hasta las etiquetas <system.web> y <system.webserver>
B. Tambien pueden ocurrir errores en la etiqueta <httpmodules>, la cual no puede ir contenida en la anterior, por ende para solucionar este error, en el archivo web.config del subaplicativo, debemos de borrar o limpiar estos modulos removiendo el modulo que no necesitamos, o limpiando todos:
<httpModules>
<remove name="UrlRewriteModule" />
</httpModules>
o
<httpModules>
<clear/>
</httpModules>