publicar net enable deploy asp application aplicacion asp.net iis

asp.net - net - Grupos de aplicaciones de IIS, procesos de trabajo, dominios de aplicaciones



iis enable asp net (4)

  1. Sí, aunque no todas las aplicaciones son sitios web. Puede tener una aplicación anidada en un sitio web.

  2. Sí, cada aplicación debe tener un proceso de trabajo (grupo de aplicaciones), aunque un grupo de aplicaciones puede servir varias aplicaciones. Se puede distribuir una sola aplicación web (web garden / farm), lo que significa que se ejecutará en múltiples procesos.

  3. Cada proceso se ejecutará en su propio dominio de aplicación (cada grupo de aplicaciones es un dominio de aplicación separado).

De MSDN.

Crear una aplicación web :

Una aplicación es una agrupación de contenido en el nivel raíz de un sitio web o una agrupación de contenido en una carpeta separada en el directorio raíz del sitio web.

Grupos de aplicaciones :

Un grupo de aplicaciones define un grupo de uno o más procesos de trabajo, configurados con configuraciones comunes que atienden solicitudes a una o más aplicaciones que están asignadas a ese grupo de aplicaciones. Debido a que las agrupaciones de aplicaciones permiten que un conjunto de aplicaciones web comparta uno o más procesos de trabajo configurados de manera similar, proporcionan una manera conveniente de aislar un conjunto de aplicaciones web de otras aplicaciones web en la computadora del servidor. Los límites del proceso separan cada proceso del trabajador; por lo tanto, los problemas de las aplicaciones en un grupo de aplicaciones no afectan a los sitios web o aplicaciones en otros grupos de aplicaciones. Los grupos de aplicaciones aumentan significativamente tanto la confiabilidad como la capacidad de administración de su infraestructura web.

¿Alguien puede explicar las diferencias, en IIS, entre grupos de aplicaciones, procesos de trabajo y dominios de aplicaciones? Además, ¿cómo trabajan juntos? He leído un par de artículos, pero todavía es un poco confuso.

  1. ¿Cada sitio web creado en IIS se convierte en una aplicación?
  2. ¿Cada aplicación está asociada con un proceso de trabajo?
  3. ¿Dónde entran en juego los dominios de la aplicación?

Desde el enlace fuente: -http: //weblogs.asp.net/owscott/archive/2007/09/02/application-vs-appdomain.aspx

Una aplicación es un término de IIS, pero es una que ASP.NET utiliza. Básicamente, crea una caja de arena, o un conjunto de límites para separar diferentes sitios, o partes de sitios, de los demás.

Un AppDomain es un término .NET. (En IIS7, AppDomains desempeña un papel más importante dentro de IIS, pero en su mayor parte es un término de ASP.NET)

El proceso de trabajo se utiliza para procesar la solicitud de la aplicación web.


Intento decirlos con otras palabras.

En un servidor, puede tener muchos sitios asp.net que se ejecutan juntos. Cada sitio es un dominio de aplicación .

Debe asignar a cada uno de ellos un grupo de aplicaciones . Muchos dominios (sitios) de aplicaciones pueden tener el mismo grupo de aplicaciones y, dado que tienen el mismo grupo de aplicaciones, se ejecutan bajo los mismos procesos y bajo la misma cuenta, y tienen la misma configuración del grupo. Si este grupo se reinicia, todos los sitios de esas piscinas se reinician.

Ahora cada grupo puede tener uno o más procesos de trabajo . Cada proceso de trabajo es un programa diferente que ejecuta su sitio, tiene sus propias variables estáticas, diferentes llamadas de inicio de parada, etc. Los diferentes procesos de trabajo no se comunican entre sí, y la única forma de intercambiar datos es desde archivos comunes o una base de datos común. Si tiene más de un proceso de trabajo y uno de ellos realiza cálculos a largo plazo, el otro puede encargarse de las llamadas de Internet y mostrar el contenido.

Cuando asigna muchos procesos de trabajo a un grupo único, crea el jardín web llamado y su sitio funciona como si se ejecutara desde más de una computadora si una computadora es una máquina de procesamiento.

Cada proceso de trabajo puede tener muchos hilos.

Cómo te afecta el proceso de más trabajador:
Cuando tiene un proceso de trabajo, todo es más simple, entre su aplicación todas las variables estáticas son iguales, y usted usa el lock para sincronizarlas.
Cuando asigna más de un proceso de trabajo , aún continúa utilizando el lock para variables estáticas, las variables estáticas no son diferentes entre las muchas ejecuciones de su sitio, y si tiene algún recurso común (por ejemplo, la creación de una miniatura en el disco) ) entonces necesita sincronizar su proceso de trabajo con Mutex .

Una nota más Suena que cuando realiza más procesos de trabajo , puede tener cargas de página asíncronas más fluidas. Hay un pequeño problema con el manejador de sesión de asp.net que bloquea todo el proceso para una carga de página (eso es bueno y no depende de si lo conoce y lo maneja) o lo cambia.

Entonces, hablemos de un solo sitio con muchos procesos de trabajo. Aquí enfrenta el problema de que necesita sincronizar su cambio de recurso común con Mutex . Pero las páginas / controladores que usan sesión no son asíncronas porque la sesión las bloquea. Esto es bueno para empezar porque evitas hacer esta sincronización de muchos puntos tú mismo.

Algunas preguntas sobre este tema:
Aplicación web bloqueada al procesar otra aplicación web al compartir la misma sesión
Las llamadas jQuery Ajax al servicio web parecen ser síncronas
ASP.NET Server no procesa las páginas de forma asincrónica
Reemplazando la sesión de ASP.Net por completo

Ahora, este bloqueo de sesión no afecta a sitios diferentes.

Entre los diferentes sitios, el proceso más trabajado puede ayudar a que un sitio no bloquee el otro con un proceso de ejecución prolongada.
También entre diferentes sitios, más pools también pueden ayudar, ya que cada grupo tiene al menos un proceso trabajado, pero recuerde y vea por usted mismo usando el explorador de procesos, cada proceso de trabajo requiere más memoria de su computadora, y un servidor grande con memoria 16G y un servidor SQL no puede tener demasiados procesos diferentes procesados; por ejemplo, en un servidor con 100 sitios compartidos, no puede tener 100 grupos diferentes.


  • Un servidor IIS puede tener múltiples grupos de aplicaciones.
  • Una aplicación web se une a un grupo de aplicaciones.
  • Un grupo de aplicaciones puede tener más de un proceso de trabajo (cuando Web Garden está habilitado).
  • Un proceso de trabajo puede tener varios dominios de aplicación. Un dominio de aplicación vive solo en un proceso de trabajo.
  • Un dominio de aplicación puede tener múltiples hilos. Un hilo puede ser compartido por diferentes dominios de aplicaciones en diferentes tiempos.

El significado para los desarrolladores de ASP.NET: para hacer que su sitio web sea escalable, no use la sesión in-proc y no utilice el bloqueo de variable de clase estática para la sincronización.