Como conseguir que no haya herencia en los web.config. El tag location.

Aunque recientemente hablaba de la herencia de los web.config como algo bueno y que tenemos que tener en cuenta cuando desarrollamos aplicaciones que van a ser ejecutadas en directorios virtuales dentro de Web Sites, esta característica, también nos puede suponer que nos encontremos con algunos problemas.

Así, pues, de forma muy sencilla, podemos “desactivar” la herencia de web.config (o directamente no heredar) consiguiendo de esta forma que cada aplicación, este siendo hospedada por medio de un Web Site o un Virtual Directory, tenga su propia configuración completa.

El tag del web.config location, nos va a permitir deshabilitar esta herencia por medio del atributo inheritInChildApplications.

Para usarlo, tendríamos que poner dentro los nodos del web.config a los que vamos a hacerles el wrapper.

<location path="." inheritInChildApplications="false">
<connectionStrings>
...
</connectionStrings>
<system.web>
...
</system.web>
</location>

Espero que este código os resulte útil. Cualquier comentario será bienvenido.

 

Anuncio publicitario

Creando, copiando y borrando Web Sites en Windows XP Professional e IIS 5.1

Esta tarde, uno de mis compañeros de trabajo, ha desplegado en un servidor de desarrollo la aplicación en la que está trabajando y SORPRESA ha aparecido un bug.

Esta aplicación, tiene un HttpHandler que hace un Url Rewrite (la optimización SEO ya sabéis) y en el servidor de desarrollo no está funcionando. Hemos empezado a intentar acotar el problema y en el entorno de desarrollo (un Windows XP con IIS 5.1) todo funciona ok. Lo siguiente que hemos detectado, es que la aplicación en el servidor de desarrollo esta ejecutándose en un Web Site, mientras que en el entorno de desarrollo la aplicación se estaba ejecutando en un Directorio Virtual.

Y amigos míos. Aquí es donde está el problema.

Hemos decidido intentar replicar los entornos y hemos intentado crear un Web Site, pero resulta que Windows XP Professional no tiene una interfaz web para crear varios Web Sites y te dificulta la faena, pero esto no es imposible, eso sí tiene sus limitaciones. Sigue leyendo