Junio 18, 2013
roy
Un día de estos tuve la necesidad de emular un Virtual Directory en mi maquina local y pensé tiene que existir una manera más fácil que montar mi página en el IIS con un virtual directory y empezar a manipular la máquina.
Entonces descubrí que existe una manera de poder manipular IIS Express para que solamente con modificar un archivo del IIS podemos emular esta funcionalidad.
- ¿ Que es un Virtual Directory?
Un virtual directory es una ruta virtual que se le asigna al IIS para un directorio local o remoto la cual no se encuentra alojada en nuestro sitio web. Entonces se crea una ruta virtual la cual es interpretada por el IIS como una ruta de nuestro sitio Web.
Para un mejor entendimiento de los Directorios Virtuales pueden acceder a la documentación del IIS: http://www.iis.net/learn/get-started/planning-your-iis-architecture/understanding-sites-applications-and-virtual-directories-on-iis.
- Buscando en la carpeta del IIS
En la carpeta de Mis Documentos existe una carpeta llamada IIS Express y entrando en esa carpeta hay 3 archivos de configuración del mismo; applicationhost.config, aspnet.config, redirection.config. Para esta publicación solamente vamos a concentrar en el archivo applicationhost.config.
- Encontrando nuestro proyecto en applicationhost.config
Al abrir el archivo applicationhost.config nos daremos cuenta que simplemente es un xml, vamos a buscar un nodo de XML llamado site para nuestro proyecto, nos daremos cuenta que es el de nuestro proyecto porque lleva por name el nombre de nuestro proyecto.
Para esta publicación yo busque el proyecto WebServicesApp de una publicación anterior.
<pre title="Sesión de nuestro proyecto en applicationhost.config"><site name="WebServicesApp" id="23">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\Roy\7SaboresPost\WebServicesApp\WebServicesApp" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:2678:localhost" />
</bindings>
</site>
- Creando el Virtual Directory
En la sesión de application de nuestra configuración vamos a agregar un nodo de XML llamado virtual directory. El cual tendrá como path va a ser la ruta que va a ser reconocido por la aplicación (la ruta virtual) y como physicalPath es la ruta original donde va a apuntar nuestra aplicación.
<pre title="Ejemplo Virtual Directory"><virtualDirectory path="/images"
physicalPath="C:\Roy\Images\7SaboresPost" />
A continuación podemos apreciar cómo quedaría la sesión de nuestro proyecto en el IIS Express:
<pre title="Crear Virtual Directory"><site name="WebServicesApp" id="23">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="D:\Roy\7SaboresPost\WebServicesApp\WebServicesApp" />
<virtualDirectory path="/images"
physicalPath="C:\Roy\Images\7SaboresPost" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:2678:localhost" />
</bindings>
</site>