Pregunta

que, en general, esto no se puede hacer, es decir, que otra PC llame a un sitio alojado en el servidor web de desarrollo ASP.NET de forma remota (generalmente solo puede usar localhost: port to llegar a él).

¿Pero me preguntaba si alguien ha visto o sabe alguna forma de evitarlo? Soy un desarrollador de API RESTful en mi oficina, y me gustaría que los chicos de PHP prueben las API en mi máquina para poder tener el depurador de Visual Studio 2005 conectado, y pueda encontrar problemas más fácilmente.

El problema principal es que mi máquina es una máquina con Vista, y desafortunadamente, las API que he desarrollado no funcionan bajo IIS7, incluso el modo Classic Application Pool (que elimina el alojamiento en un IIS local imposible).

Alternativamente, ¿hay alguna manera de usar IIS6 en otra máquina para satisfacer mis necesidades?

Update

Basado en el consejo que recibí y después de muchas pruebas y errores con las sugerencias hechas, pude hacer que Squid actuara como proxy inverso y hiciera exactamente lo que quería hacer. He publicado un blog al respecto http://www.ashleyangell.com/index.php/2009/03/configuring-a-basic-reverse-proxy-in-squid-on-windows-website-accelerator/ en caso de que alguien más quiera hacer lo mismo.

¿Fue útil?

Solución

¿No puede ejecutar IIS7 en Modo de grupo de aplicaciones clásico ?

El servidor web de desarrollo está estrictamente limitado a Localhost, ya sea que necesite descompilarlo y recompilarlo, o configurar algún tipo de Proxy en su máquina.

Y en un tema no relacionado: aunque Win2003 Server SP2 R2 debería ser compatible hasta marzo de 2012, tal vez debería agregarse el Soporte IIS7 a su aplicación para asegurarse de que también pueda ejecutar el Servidor 2008.

Otros consejos

Esto es sustancialmente más fácil que la opción Squid:

" Acceso al servidor de desarrollo Visual Studio ASP.NET desde iPhone "

También hay una actualización que también funciona bien en Windows 7:

" iPhone Acceder al servidor de desarrollo Visual Studio ASP.NET - Windows 7 Update "

Acabo de probar http://code.activestate.com/recipes / 483732-asynchronous-port-forwarding / con éxito. Es un script de Python que solo reenvía el tráfico.

Suponiendo que la máquina en la que se ejecuta su servidor de desarrollo es 192.168.42.42 y el servidor de desarrollo está en el puerto 12345 , ejecute el script (en la misma máquina) con el comando argumentos de línea

-l 192.168.42.42 -p 8000 -r 127.0.0.1 -P 12345

Desde una máquina diferente, puede acceder al servidor a través de http://192.168.42.42:8000 .

Asegúrese de cambiar sender.handle_close como lo señala Dwight Walker en los comentarios:

def handle_close(self):
    self.close()
    if len(self.receiver.to_remote_buffer) == 0:
        self.receiver.close()

Puede depurar de forma remota en una computadora con IIS6. Consulte esta publicación de blog sobre cómo configurarlo: http://blogs.iis.net/brian-murphy-booth/archive/2008/05/23/remoting-debugging-asp-net-applications -using-visual-studio-2008.aspx

Aquí hay un enlace para vs2005: http://aspnet2holes.blogspot.com/2006/11/debug-aspnet-20-running-under-iis-60.html . Todavía recomiendo revisar el 2008, solo por algunos comentarios adicionales que tiene.

Básicamente, pasé 5 horas haciendo que esto funcione, y en última instancia, si quieres una solución de 5 minutos, aquí va:

1. Port forward incoming traffic to your local ip on your network
TCP Any -> 3127-3128
TCP Any -> 80-81
TCP Any -> 8080
TCP Any -> 8000
TCP Any -> 8888
to
192.1681.1.3 (the local ip of the machine running .NET Dev server.)

2. Download SPI Port Forward

3. Heres the tricky part - Setup 2 forwarding rules as follows:
Local port: 8080 Remote: localhost Remote port 8080
Local port: 8080 Remote: localhost Remote port: .NET Dev server port

Without that second rule the .NET dev server wont serve the page

4. now visit your public IP address at port 8080 -- and you got it

Z

Es posible que desee echar un vistazo a la versión de UltiDev del servidor web Cassini . Tomaron el servidor web Cassini de código abierto de Microsoft y lo mejoraron para permitir, entre otras cosas, conexiones remotas.

Puede adjuntar VS al proceso y ver cómo se llama a sus API RESTful desde la aplicación PHP, exactamente como se describe anteriormente.

Simplemente use un simple túnel TCP de Java. Descargue esta aplicación Java & amp; solo haz el túnel de regreso. ¡No es necesario jugar con IIS!

http://jcbserver.uwaterloo.ca/cs436/software/tgui/ tcpTunnelGUI.shtml

En el símbolo del sistema, ejecutaría la aplicación Java de esta manera ... Supongamos que desea acceso externo en el puerto 80 y su entorno de depuración estándar se ejecuta en el puerto 1088 ...

java -jar tunnel.jar 80 localhost 1088 (También respondió aquí: Acceso al servidor de desarrollo asp. Net externo a VM)

¿Cambiar IIS 7 a canalización clásica no resuelve sus problemas de compatibilidad? VS 2005 tiene un depurador remoto, al igual que muchas versiones anteriores.

¡SÍ HAY! : D

También estuve mirando alrededor para superar esta limitación por algún tiempo y accidentalmente me topé con el siguiente artículo:

http://eeichinger.blogspot.com /2009/12/sniff-http-traffic-with-aspnet.html

Todavía no lo he probado, pero parece rápido & amp; simple (aunque algunos pueden decir que esto es hardcore).
Por cierto. Le recomiendo que vea otras publicaciones en blog de Erich Eichinger , ya que hay más cosas realmente valiosas.

Esta publicación me ayudó: http://staticvoidmain.cognitioab.se/index.php/2013/01/remote-debugging-asp-net-development-server-with-spi-port-forward/ Sugiere usar una aplicación de terceros en su máquina de desarrollador para que actúe como un proxy (más o menos). Entonces se conecta a esta aplicación y reenvía todas sus solicitudes al servidor de desarrollo. Funciona como magia :)

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top