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>