2011-12-16 4 views
10

Tengo Windows Azure SDK 1.6 instalado junto con las herramientas de Azure. Tengo una función web (con dos puntos finales, puerto 80 para http y puerto 443 para https) y solo tengo una instancia de la función web en ejecución (para fines de prueba).Visual Studio está configurando mi rol web de Azure en 127.255.0.0:82 en lugar de 127.0.0.1:80

Cuando lo ejecuté desde Visual Studio para la depuración la semana pasada, ejecutó el emulador, lo conectó a IIS con un enlace de 127.0.0.1:80 y todo era color de rosa.

Pero a partir de ayer, tan pronto como empecé estaba tratando de obligar a 127.255.0.1:82 y que dejó de funcionar con este error (de Visual Studio):

Se ha producido un error adjuntando el depurador al proceso de trabajo de IIS de URL 'http://127.255.0.0:82'

Ahora si voy manualmente para IIS y cambiar los enlaces hacia atrás, puede acceder al sitio a través de un navegador, pero obviamente no se puede depurar a través de VS .

¿Por qué está haciendo Visual Studio esto? ¿Qué hizo que cambiara la semana pasada (solo hice cambios de código y los comenté)?

Editar: Sé de este blog, pero mi problema parece ser diferente porque por una razón no tengo errores en los registros de eventos. Y como mencioné tan pronto como cambio los enlaces manualmente en IIS, puedo acceder al sitio correctamente para que el grupo de aplicaciones esté configurado correctamente.

Edit2: Tengo el siguiente conjunto:

<compilation debug="true" targetFramework="4.0" /> 

Y mi proyecto nube está ajustada a la puesta en marcha del proyecto, así.

Respuesta

9

Cuando me encontré con él desde Visual Studio para depurar la semana pasada, se corrió el emulador , unida a IIS con una unión del 127.0.0.1:80 y todo fue color de rosa.

No creo que haya depurado nunca un proyecto implementado de Azure Emulator en la vinculación 127.0.0.1:80 con IIS. Existe la posibilidad de que lo que haya depurado sea solo el proyecto de aplicación web y no el despliegue de Azure. Permítanme explicar por qué:

  1. Windows Azure Emulator usa el equilibrador de carga emulado interno (LB). Este emulado LB se une a 127.0.0.1 puerto 80 (si el puerto 80 ya está tomada que utiliza el puerto 81)

  2. de Windows Azure Tools están creando dinámicamente una dirección IP virtual para cada instancia de un WebRole que tiene. Estas direcciones IP dinámicas son 127.255.0.X, donde X es el número lógico de la instancia (0, 1, 2, etc. ...).

  3. Windows Azure tools crea un sitio web en el IIS local, con el enlace de 127.255.0.X y el puerto 82

enter image description here

Paso 3 se repite para todos los casos que haya definido.

Cuando se inicia la depuración, su navegador generalmente abre http: //127.0.0.1:81/ que es la dirección del LB. Pero la solicitud de esta dirección se remite al IIS y su enlace a 127.255.0.X: 82. No pudo haber depurado un proyecto implementado de Windows Azure Emulator adjuntando manualmente depurador a 127.0.0.1:80, porque, si todo estaba bien, no hay ningún proceso w3wp escuchando en esa dirección: puerto, pero Azure emuló LB.

Cuando solo tiene WebRole (no se definen sitios adicionales), Windows Azure Tools sabe que debe conectar el depurador a 127.255.0.X: 82 donde está escuchando un proceso w3wp.

Ésta es la configuración de trabajo limpio de Azure SDK emulador & & Herramientas v.1.6 (creo que también 1,5 e incluso volver a 1.3, donde se introdujo el modo completo de IIS para la primera vez)

Ahora bien, si Ir manualmente a IIS y cambiar las vinculaciones, puedo acceder al sitio a través de un navegador, pero obviamente no puedo depurarlo a través de VS.

Sí, podrá acceder al sitio, pero de esa forma se saltará el LB emulado, que no es el punto cuando se desarrollan las aplicaciones de Windows Azure.

Si está heving cuestiones de ese tipo, le sugiero que limpie su solución, reinicie el equipo, y si el problema persiste desinstalar el SDK & Herramientas y realizar limpia instalación completa del SDK & Autoría tols para Windows Azure v. 1.6 utilizando el instalador de plataforma web.

+0

¡Eso tiene sentido, gracias! Ahora intentaré volver a instalar las herramientas (y el SDK si es necesario). – encee

Cuestiones relacionadas