Diferencia entre aplicación y directorio virtual


11

Soy desarrollador de asp.net, siempre estoy confundido entre la aplicación y el directorio virtual en IIS. Parece que en iis 6.0, solo puede crear un directorio virtual.


1
En IIS6, crea un directorio virtual y luego lo convierte en una aplicación.
Mark Henderson el

Respuestas:


13

Es fácil confundir a esos dos y las personas a menudo usan los términos indistintamente.

Un directorio virtual es solo un puntero a una ubicación diferente en el disco. Apunta a una ruta fija en el disco que es diferente a su carpeta principal.

Una aplicación es un límite entre diferentes carpetas. ASP.NET lo utiliza para crear una nueva raíz de AppDomain (o raíz de la aplicación). La raíz de una aplicación utiliza una carpeta bin global.asax diferente y la otra aplicación_ [carpetas.].

En IIS6 e IIS7 si crea un directorio virtual, no es también una aplicación de forma predeterminada. ASP.NET lo colocará en el mismo AppDomain que su carpeta principal.

En IIS6 puede convertir un directorio virtual o una carpeta normal en una aplicación haciendo clic derecho -> propiedades y Crear.

En IIS7 las opciones se nombran diferentes pero es lo mismo en el fondo. La creación de un directorio virtual le permite crear un vdir que todavía es parte del AppDomain de su padre, es decir, no una aplicación).

La opción "Agregar aplicación" en realidad crea un directorio virtual Y luego lo marca como una aplicación. (notará que le permite especificar una ruta).

También puede hacer clic con el botón derecho en una carpeta existente (o vdir) y Convertir a aplicación. Esa es una manera de crear el límite de la aplicación en una carpeta regular o virtual existente.


El sitio web predeterminado en mi IIS 7 ejecuta MOSS 2007 (SharePoint). Como quiero que los usuarios sientan que todavía están en el portal, creé una aplicación web ASP.NET de marca similar y la configuré como una aplicación basada en un directorio virtual en el mismo sitio. Tanto el sitio web predeterminado como esta aplicación ASP.NET están utilizando el mismo grupo de aplicaciones. En primer lugar, ¿es esta práctica segura / buena? En segundo lugar, si habilito y uso la sesión en la aplicación ASP.NET, ¿afectará de alguna manera la integridad / rendimiento de la sesión administrada de SharePoint, o afectará a SharePoint de alguna otra manera?
Usuario web

@WebUser Está bien tenerlos en el mismo grupo de aplicaciones, y dado que son aplicaciones separadas en el grupo de aplicaciones, el estado de la sesión estará separado y aislado el uno del otro. Sin embargo, recomiendo usar un grupo de aplicaciones separado de todos modos. Si algo falla en uno, no tiene que quitar ambos para reciclar o arreglar el otro. Y tendrá más flexibilidad para bloquear los permisos NTFS para aislarlos unos de otros.
Scott Forsyth - MVP

@ ScottForsyth-MVP Presté atención a su sugerencia ya que quería que estuvieran totalmente aislados. Creé un nuevo grupo de aplicaciones y una nueva cuenta de servicio, y usé este artículo para configurar la identidad. No sé por qué, pero la aplicación arroja un System.UnauthorizedAccessExceptionmensaje después de tomarse un tiempo para mostrar la página; la aplicación sigue funcionando pero es lenta y produce la excepción que me invita a abrir Visual Studio. ¿Alguna idea sobre lo que me estoy perdiendo?
Usuario web

@ ScottForsyth-MVP, ¿puede mirar esta pregunta que publiqué en ServerFault? ¡Gracias!
Usuario web

@WebUser. Probablemente sea necesario agregar su identidad personalizada al grupo IIS_WPG. Ese era un requisito en IIS6. También respondí a tu otra publicación.
Scott Forsyth - MVP

2

También puede verificar ... ¿Sabía que: diferencia entre el directorio virtual y la aplicación en IIS 7 / 7.5

Editado: para citar el sitio, ya que el enlace está muerto;

En IIS 7 / 7.5, tiene la opción de crear un Directorio virtual y aplicaciones.

¿Qué es un directorio virtual?

Directorio virtual es un directorio que se asigna a un directorio físico local o un directorio en un servidor remoto. Un directorio virtual tendrá su código ejecutado en el mismo proceso de trabajo que el proceso padre. El grupo de aplicaciones del sitio web y el directorio virtual es el mismo.

Imagen05

¿Qué es una aplicación?

Una aplicación es idéntica al directorio virtual, excepto que tiene una opción para ejecutar una aplicación en un grupo de aplicaciones diferente.

Imagen06

NOTA: así es como se ven las capturas de pantalla anteriores en applicationhost.config


0

Un directorio virtual no es más que, solo apunta o hace referencia a su carpeta en su máquina local o servidor remoto. Si está creando un directorio virtual en Sitio web predeterminado en IIS. Suponga que si el sitio web predeterminado se bloquea debido a algún problema interno, no puede acceder a su directorio virtual.

Agregar aplicación no es más que un grupo de archivos que entrega contenido o brinda servicios a través de protocolos. Una aplicación pertenece a un grupo de aplicaciones; supongamos que debido a algún problema, el sitio web predeterminado se bloqueó, no afectará a ninguna aplicación que pertenezca al grupo de aplicaciones.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.