visual studio servidor puede para mejores las iniciar extensiones configurar code visual-studio visual-studio-2010 iis-express

visual-studio - servidor - las mejores extensiones para visual studio code 2018



Configurar IIS Express para acceso externo al proyecto VS2010 (9)

Hicimos una extensión gratuita de VS (2012, 2013, 2015) llamada Conveyor que permite esto; puede encontrarla a través del menú Herramientas-> Extensiones ... en VS o en el sitio de la galería https://visualstudiogallery.msdn.microsoft.com/a429dbb7-a982-4541-b401-934375c02c0f?SRC=Home

Estoy desarrollando un proyecto en VS2010 y puedo ver mi sitio localmente a través de IIS Express. Me gustaría habilitar el acceso externo a través de la red.

Toda mi investigación me ha enviado a esta entrada del blog: http://blogs.iis.net/vaidyg/archive/2010/07/29/serving-external-traffic-with-webmatrix-beta.aspx , que es útil, pero lo hace no parece mostrar cómo configurar enlaces para un proyecto iniciado en Visual Studio (no puedo encontrar la pantalla en las capturas de pantalla, y he editado información de enlace en applicationhost.config, pero no parece estar reflejado cuando ejecuto el sitio desde estudio visual).


Pasé horas en este tema también, tratando de navegar desde mi Android Xoom a mi máquina de desarrollo win7, así que pude probar una nueva aplicación web asp.net que creé. Todo lo que hice fue cambiar IISExpress ''applicationhost.config de usar PC HostName a la dirección IP actual de la PC, para mi nuevo sitio.

<binding protocol="http" bindingInformation="*:80:dev-Lee" />

a

<binding protocol="http" bindingInformation="*:80:192.168.1.102" />

Una vez que hice esto y reinicié IISExpress ... ¡pude buscar mi máquina dev-Lee y ver mi aplicación desde mi Xoom!


Podemos agregar múltiples direcciones de enlace editando applicationhost.config de IIS Express

<bindings> <binding protocol="http" bindingInformation="*:62217:localhost" /> <binding protocol="http" bindingInformation="*:62217:192.168.0.5" /> <binding protocol="http" bindingInformation="*:62218:192.168.0.5" /> </bindings>

Ahora podemos acceder al sitio web desde lan usando la dirección IP.

Accediendo a sitios locales desde Lan usando IIS Express


Si está trabajando con Visual Studio, siga estos pasos para acceder a IIS-Express a través de IP-Adress:

  1. Obtenga su IP-Adress de host: ipconfig en la línea de comandos de Windows
  2. GoTo $ (SolutionDir) .vs / config / applicationHost.config
  3. Encontrar
    <site name="WebApplication3" id="2"> <application path="/" applicationPool="Clr4IntegratedAppPool"> <virtualDirectory path="/" physicalPath="C:/Users/user.name/Source/Repos/protoype-one/WebApplication3" /> </application> <bindings> <binding protocol="http" bindingInformation="*:62549:localhost" /> </bindings> </site>
  4. Agregar: <binding protocol="http" bindingInformation="*:62549:192.168.178.108"/>
    con su IP-Adress
  5. Ejecute su Visual Studio con derechos de administrador y todo debería funcionar
  6. Tal vez busque algunos problemas de firewall si intenta conectarse desde un control remoto

La clave es que Visual Studio obtuvo su propio archivo applicationHost.config.


Si su dominio externo es "name.mydyndns.com", entonces necesita escribir:

<binding protocol="http" bindingInformation="*:name.mydyndns.com" />

Esto funciona en Windows 2003 Server e IIS 7.5 Express.


Tuve muchos problemas para hacer que esto funcionara desde Visual Studio 2012, pasé de errores 404 a 503 errores. Finalmente, lo que funcionó para mí fue eliminar toda la configuración relacionada en la configuración de IIS Express ...

"/Program Files (x86)/IIS Express/appcmd.exe" list site "/Program Files (x86)/IIS Express/appcmd.exe" delete site xxx "/Program Files (x86)/IIS Express/appcmd.exe" delete site yyy

Luego creé un nuevo directorio virtual desde la página de propiedades en mi proyecto web en VS pero antes de crear el directorio virtual cambié el nombre de host a http: // myhost: 80 / y luego presioné el botón crear directorio virtual. Anteriormente recibía errores que decían que el nombre de host debe ser ''localhost'', pero esta vez no. Y después de eso, funcionó.

En resumen, elimine la configuración existente primero y comience nuevamente.


Visual Studio 2013 SP1 y superior (2015) incluye la configuración "Aplicar la configuración del servidor a todos los usuarios (almacenar en el archivo del proyecto)". Esto está habilitado por defecto. Cuando se habilita, Visual Studio inicia IIS Express con argumentos de línea de comandos que lo hacen usar un archivo de configuración diferente. La ubicación del archivo ''applicationhost.config'' se encuentra en el directorio del proyecto en ''.vs / config''.


1 Después de editar el archivo applicationhost.config (ubicado en la carpeta IISExpress en sus documentos), los enlaces de su sitio deberían verse a continuación:

<bindings> <binding protocol="http" bindingInformation="*:8080:*" /> </bindings>

Los enlaces consisten en tres partes. En primer lugar, una dirección o lista IP, o como en este caso, un comodín. En segundo lugar, el número de puerto y, en tercer lugar, un nombre de host, o lista, o comodín (para filtrar por encabezado de Host ). Para fines de desarrollo, un comodín es más adecuado aquí, ya que es probable que esté utilizando un puerto único.

2 Debido a que está utilizando un enlace no localhost, se requieren permisos adicionales. Puede ejecutar VS como administrador, o preferiblemente debe agregar URL ACL para otorgar los permisos necesarios. En el siguiente ejemplo, se otorga permiso a todos, pero puede usar su propio nombre de usuario.

Nota: El urlacl debe coincidir exactamente con el enlace. Entonces, urlacl para http://*:8080 permitirá un enlace de *:8080:* , pero no un enlace de *:8080:localhost aunque este último sea un subconjunto del anterior. esto significa que si, en lugar de usar un comodín, enumera los encabezados de host en applicationhost.config , debe agregar un urlacl coincidente para cada uno.

Los pasos para configurar HTTP.sys para el tráfico externo son similares a la configuración de un sitio para usar un puerto reservado. En Windows 7 o Windows Vista, desde un símbolo del sistema con privilegios elevados, ejecute el siguiente comando:

netsh http add urlacl url=http://*:8080/ user=DOMAIN/username

En Windows XP, ejecute el siguiente comando desde un símbolo del sistema elevado:

httpcfg set urlacl /u http://*:8080/ /a D:(A;;GX;;;WD)

Nota 2 Si ejecutar VS como administrador o agregar entradas de ACL no resuelve su problema, ejecute IIS Express desde la línea de comando y verifique si hay algún mensaje de error de registro vinculante. Para comenzar desde la línea de comando, ingrese este comando:

iisexpress.exe /site:"your-site-name"

3 Finalmente, necesitará entradas de firewall adecuadas. Para esto, es más fácil usar la consola "Firewall de Windows con seguridad avanzada".

En "Reglas de entrada", seleccione "Nueva regla ...".

  • El tipo de regla es "personalizado".
  • El programa es Servicios-> Personalizar ...-> Aplicar solo a servicios. (Aunque IIS Express no es un servicio, el multiplexor HTTP que utiliza es).
  • El protocolo es TCP
  • Puertos específicos: enumere todos los puertos para todos sus enlaces IIS Express. Puede volver a esta regla y agregar puertos en cualquier momento. (Si esto resulta tedioso, puede agregar un rango como 40000-65534 que cubre todo el rango utilizado por Visual Studio, pero tenga en cuenta que esto es menos seguro).
  • La acción es "Permitir la conexión"
  • El perfil será uno de los siguientes. Si tiene dudas, elija "Dominio + privado".
    • "Dominio", si el suyo es un escritorio corporativo y solo se ejecutará en el dominio local
    • "Dominio + Privado" Si la suya es una máquina de desarrollo privada en un entorno no corporativo o una computadora portátil corporativa que también necesita funcionar cuando se trabaja desde casa.
    • "Dominio, privado y público", si necesita realizar demostraciones en redes no privadas.
  • El nombre debería ser algo así como "IIS Express Dev Server"

en el grupo de aplicaciones en IIS, establezca "Habilitar aplicaciones de 32 bits" en "verdadero".