2009-06-16 9 views
30

Cuando crea un nuevo sitio web en IIS, puede elegir entre una "Aplicación" y un "Directorio virtual". ¿Cuál es la diferencia entre esas dos opciones?Creación de un nuevo sitio web en IIS: aplicación frente a directorio virtual. ¿Cual es la diferencia?

+1

¿Dónde puedes elegir eso? Desde la aplicación, ¿te refieres a "grupo de aplicaciones"? –

+1

En una instalación limpia de IIS, abra "Sitios" y haga clic con el botón derecho en "Predeterminado". En el menú contextual, puede "Agregar aplicación" y "Agregar directorio virtual" – roosteronacid

+1

Duplicado: http://stackoverflow.com/q/5500326/80161 –

Respuesta

23

Hay algunas diferencias, aquí están los más grandes:

  • En IIS 6 en adelante, puede asignar a una aplicación un cierto nivel de "protección". (por ejemplo, niveles de protección, grupos de aplicaciones, etc.). No puede hacer esto con los directorios virtuales
  • Si está trabajando con ASP.NET, la búsqueda del archivo maestro "Web.config" para su aplicación se detiene en su nivel de aplicación. Para un directorio de trabajo, también verificará la configuración de la jerarquía principal.

Estas son las dos mayores diferencias en mi opinión, aunque también hay otras pequeñas.

+0

mjmarsh, está equivocado. Veo en IIS 7 que puede configurar "Conectar como usuario específico o la configuración del usuario de la aplicación para el directorio virtual y la aplicación. – Learner

+2

Estaba hablando de aislamiento de procesos. Veo que puede establecer las credenciales que se utilizarán al acceder al recursos de archivos de directorio virtual pero no veo forma de asociar un directorio virtual con un grupo de aplicaciones (que no sea para establecerlo en su nivel de aplicación principal) –

27

Un directorio virtual es solo un puntero al lugar donde se almacenan las páginas web.

Una aplicación reserva memoria en IIS para sus páginas web. Si está intentando ejecutar páginas ASP y planea hacer uso de variables de sesión, debe usar una aplicación. una aplicación puede hacer uso de un directorio virtual o que sólo puede existir dentro del directorio del sitio web por defecto (inetpub/wwwroot /)

+5

+1 Pero tenga en cuenta que este no es el final de la historia, dado que no es el grupo de aplicaciones el que almacena las variables de la sesión, en su lugar es el proceso w3wp.exe, y si el grupo de aplicaciones está configurado para usar más de un w3wp.exe (también conocido como "jardín web"), entonces hay que usar Sesiones de OutProc (ya que diferentes solicitudes del mismo usuario pueden enrutarse a diferentes procesos), pero tiene razón en que el w3wp.exe se basa en el grupo de aplicaciones y no en un directorio virtual –

0

Desde el punto de vista de un desarrollador web:

Un directorio virtual es el IIS 5 (Windows 2000 y versiones anteriores) el contenido HTML. Un directorio virtual también se puede configurar para permitir la interpretación de scripts de Active Server Pages (ASP) y/o la ejecución de aplicaciones Common Gateway Interface (CGI). Un directorio virtual NO PUEDE alojar una aplicación web ASP.Net.

El tipo de contenedor "aplicación" se introdujo con IIS 6 (Windows XP/Windows Server 2003 y posterior). Permite el alojamiento de aplicaciones web ASP.Net.

Cuestiones relacionadas