Una de las mayores potencias que tiene el desarrollo de aplicaciones en ASP .NET es su capacidad de hacer debug, en una maquina local generada automáticamente por IIS Express con Visual Studio.
Actualmente cuando trabajamos en el desarrollo de una aplicación web o con una Web API, ya no solo necesitamos probarlo en nuestro navegador local, sino que si lo enfocamos a un móvil, necesitamos probarlo nativamente en el navegador del móvil. Esto conlleva generar la aplicación y subirla al servidor para poder probarla en los distintos dispositivos.
Y Evidentemente, cuando lo subimos al servidor perdemos esa capacidad de debug tan potente. Por otra parte, en ASP .NET, como es código compilado, es un poco más engorroso que subir dos archivos para cambiar una funcionalidad. En muchos casos toca subir o la carpeta “bin” entera, por un par de cambios en algunas dlls, etc.
Vamos, que hacer el testeo en el servidor, es insoportable, y nos roba mucho tiempo y comodidad de debug.
En esta entrada vamos a ver como habilitar el sitio que nos genera localmente el IIS Express de Visual Studio, para que sea visible y accesible por el resto de dispositivos de la red local donde estemos conectados.
Configurar IIS Express de Visual Studio para permitir conexiones en red local
Lo vamos a poder habilitar en 4 faciles pasos.
1- Obtener la IP de nuestra maquina
En una ventana de símbolo del sistema (CMD), usar el comando ipconfig para buscar una dirección IP válida local para la estación de trabajo.

En mi caso la “192.168.0.106”
2. Para el servicio en marcha de IIS Express
Asegúrate de que el servicio de IIS Express esta parado. Simplemente clic derecho en el icono de IIS Express y pulsar en la opción de salir. Otra opción es cerrar todas las instancias de Visual Studio, y esto también cerrará el IIS Express.

3. Editar el archivo “applicationhost.config”
Ir a la carpeta donde se encuentra el archivo “applicationhost.config”:
1 |
C:\Users\<your profile name>\Documents\IISExpress\config\applicationhost.config |
Abrir el archivo en Visual Studio.
Ahora simplemente queda editar para nuestro sitio las conexiones remotas. Para hacer esto buscamos el elemento de nuestro sitio en el espacio “<sites>” del archivo. Para hacerlo facil, buscar en el archivo el nombre del sitio, por ejemplo “TestWeb”y os llevará al sitio.
Llegareis a un bloque de texto como este:
1 2 3 4 5 6 7 8 |
<site name="TestWeb" id="61"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="D:\MiRepositorio\Projects\TestWeb" /> </application> <bindings> <binding protocol="http" bindingInformation="*:47677:localhost" /> </bindings> </site> |
Como vemos, esta habilitado para localhost el puerto 47677. Simplemente debemos habilitar para nuestra IP.
Para ello, añadiremos un binding adicional, especificaremos a IIS que resuelva las peticiones de la IP de nuestra maquina por el puerto de la aplicación. Es decir, esta sencilla linea:
1 |
<binding protocol="http" bindingInformation="*:47677:192.168.0.106" /> |
Cambiando por vuestra ip (mi 192.168.0.1 por vuestra 192.x.x.x)
Y quedaria así el bloque:
1 2 3 4 5 6 7 8 9 |
<site name="TestWeb" id="61"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="D:\MiRepositorio\Projects\TestWeb" /> </application> <bindings> <binding protocol="http" bindingInformation="*:47677:localhost" /> <binding protocol="http" bindingInformation="*:47677:192.168.0.106" /> </bindings> </site> |
4. Editar el archivo “applicationhost.config”
Abrir el CMD, improtante abrirlo como administrador. Y hay que introducir el siguiente comando:
1 |
netsh http add urlacl url=http://192.168.0.106:47677/ user=everyone |
¡OJO! Si estas usando un sistema operativo en castellano, y os da el siguiente error: “Create SDDL failed, Error: 1332”, es porque el comando es en vez de “everyone”, “todos”:
1 |
netsh http add urlacl url=http://192.168.0.106:47677/ user=todos |
Y con esto, podréis acceder desde cualquier otro dispositivo o maquina, a la aplicación que se esta ejecutando en ese puerto en IIS Express de Visual Studio.
Javi Giner
Latest posts by Javi Giner (see all)
- IIS Express Visual Studio, como configurar para permitir conexiones remotas - febrero 26, 2016
- Evento solidario sobre Innovación - diciembre 14, 2015
- Uso de Component en Unity - noviembre 10, 2015
Gracias por la información, pude levantar mi servidor local, solo agregar, que tuve que crear una regla en el firewall para dar acceso al puerto. Saludos
Muchas gracias por la explicación,
me ha sido muy útil.
un saludo.