android - filtro - form asp net mvc core
Depuración de una aplicación MVC de ASP.NET en un teléfono Android (4)
Concédase permiso para enlazar con los adaptadores de red local y de comodín, configure IIS Express para enlazarlos y abra el puerto en su firewall. Al usar un comodín, no tiene que volver a configurar cuando cambie su dirección IP.
Detalles del paso: (suponen un número de puerto de 5555; en su lugar, use su puerto real)
Ejecute estos comandos desde un símbolo del sistema como administrador:
netsh http add urlacl url=http://localhost:5555/ user="NT AUTHORITY/INTERACTIVE" netsh http add urlacl url=http://*:5555/ user="NT AUTHORITY/INTERACTIVE"
En .vs / config / applicationhost.config (o para pre-VS2015, % USERPROFILE% / Documents / IISExpress / config / applicationhost.config ), agregue un enlace comodín a su sitio. El resultado debería verse así:
<site name="..." id="..."> <!-- application settings omitted for brevity --> <bindings> <binding protocol="http" bindingInformation="*:5555:localhost" /> <binding protocol="http" bindingInformation="*:5555:*" /> </bindings> </site>
Abra el puerto de firewall para su sitio IIS Express. Puedes hacerlo desde un indicador de comando administrativo:
netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=5555 profile=private remoteip=localsubnet action=allow
Objetivo
Estoy buscando el proceso de configuración paso a paso más simple posible para depurar mi aplicación ASP.NET MVC 4 usando mi dirección IP como la URL. Quiero poder acceder a la aplicación desde mi teléfono Android, que está conectado a mi red local a través de Wi-Fi, usando la dirección IP local de mi computadora (por ejemplo, http://192.168.1.109:25968
). Estoy ejecutando Visual Studio 2012 RC en Windows 7.
Esta pregunta ha sido abordada por otras dos preguntas ( esta y esta ), pero las respuestas son extremadamente breves y no me ayudan en absoluto. He tenido que resolver este problema antes de golpear mi computadora y cambiar sin pensar cada configuración hasta que algo funcionó. No quiero tener que pasar por eso otra vez. Quiero entender lo que estoy haciendo esta vez.
Información de configuración
El proyecto es solo una aplicación de Internet predeterminada ASP.NET MVC 4. Estoy bastante seguro de que no he cambiado nada todavía.
La pestaña Web en las Propiedades de mi aplicación está configurada en "Usar servidor web IIS local", y tengo "Usar IIS Express" marcado. La URL del proyecto es http://localhost:25968/
. Veo que el "locahost" puede haber un problema, pero VS no me deja ingresar una dirección IP o comodines.
El archivo applicationhost.config de IIS Express para mi aplicación es el siguiente.
<site name="APPLICATION_NAME" id="13">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="C:/Users/USERNAME/Documents/Visual Studio 11/Projects/APPLICATION_NAME" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:25968:localhost" />
</bindings>
</site>
Qué esta pasando
Cuando me conecto al sitio desde la computadora host con http://localhost:25968
funciona muy bien. Si trato de usar http://192.168.1.109:25968
desde la computadora host, obtengo "Solicitud incorrecta - Nombre de host no válido, error 400 de HTTP. El nombre de host de la solicitud no es válido". Usando esta misma URL de otra computadora en la red, simplemente se apaga.
Dale una oportunidad a esto:
netsh http add urlacl url=http://192.168.1.109:25968/ user=everyone
De: http://johan.driessen.se/posts/Accessing-an-IIS-Express-site-from-a-remote-computer
Es posible que pueda sustituir el nombre de host de su computadora por la dirección IP para que no tenga que volver a ejecutarla cada vez que cambie su IP.
Necesitaba realizar todos los pasos del enlace que proporcionaba cfeduke. (No solo el que él describe en su respuesta).
- Agregue
<binding protocol="http" bindingInformation="*:58938:192.168.1.42" />
a applicationhost.config después del enlace para ''localhost''. - Ejecute
netsh http add urlacl url=http://192.168.1.42:58938/ user=everyone
- Ejecute el
netsh advfirewall firewall add rule name="IISExpressWeb" dir=in protocol=tcp localport=58938 profile=private remoteip=localsubnet action=allow
Si tienes Node.js en tu máquina Prueba esta herramienta con: Ionut-Cristian Florescu
https://github.com/icflorescu/iisexpress-proxy
Para instalarlo, simplemente escriba en la línea de comandos npm install -g iisexpress-proxy
Luego, verifique el puerto que tiene en su proyecto y asignarlo al puerto externo. iisexpress-proxy [localPort] to [proxyPort]