Los Application Pools, y que tienen que ver con los Web Sites de ASP.NET

Primero quería mencionar que es básico este artículo: IIS 6.0 y ASP .NET a fondo: ¿Acceso denegado?, para entender que es un Application Pool, como se relaciona con un sitio web y que tiene ver IIS, repito es básico leer ese artículo.

Y aunque normalmente conocer de IIS y su configuración son tareas administrativas y trabajo de la Administración del Servidor, no sucede en todos los casos y muchas veces nosotros (desarrolladores) tendremos que empaparnos de la configuración al hacer un deployment, o simplemente debemos tener ese conocimiento por cultura general y porque debemos saberlo. Y es que, no necesitamos ser especialistas en todo, pero por lo menos conocer, es decir ser un especialista generalizador.

Pero que tiene que ver un Application Pool con el Web Site que estamos desarrollando. En primera instancia lo veremos cuando estemos haciendo el Deployment de un Sitio Web, y después siempre que necesitemos hacer algún mantenimiento al sitio web o por algún cambio en el sitio Web. Imaginen que vamos a subir nuestro webSite 2.0 beta al servidor actual para pruebas, pero ya contamos con una aplicación con ASP.NET 1.X. Subimos nuestra aplicación, cambiamos la versión del Sitio Web a 2.0, ejecutamos y obtenemos el siguiente error:

Y lo trágico no es que nuestro Site versión actualizada no corra, sino que el sitio actual se callo, ósea ya no funciona. Y es en este momento es cuando las papas queman. Pues ni cortos ni perezosos detenemos el site subido, reiniciamos el actual y ya esta en funcionamiento :). Es adrenalina pura, la primera vez que se cae un server en tus manos. Ojo, no necesariamente tuvo que haberme pasado a mi .

Pero que esta pasando?, pues si leemos detenidamente la nota del administrador: “An error a message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur“. Nada y hacemos eso, nos vamos al visor de eventos y buscamos un nuevo evento en eventos de aplicación:

Y como que la descripción es un poco clara: “It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process“. Nos dice que distintas versiones de ASP.NET no pueden correr en el mismo proceso.

Si ya leyeron el artículo, sabrán que sólo basta cambiar de Application Pool a una de ellas, ya que sobre un Application Pool sólo puede correr una versión de ASP.NET, hasta donde sé. Y es que una de las ventajas de los Application Pools de IIS 6.0, es que al correr en diferentes procesos (un proceso por cada Application Pool), si ocurre un problema en un Web Site y este cae, no afectará a los otros Sitios Web, ya que ellas corren bajo otro proceso.

Y ahora con una noción un poco más clara de un Applitacion Pool, nos vamos a la administración de IIS con nuestros shortcuts <Inicio+R>, ‘inetmgr’+<enter>, y veremos algunos Application Pools conocidos:

Veremos que el Servidor de Reportes de Reporting Services maneja su propio Application Pool, al igual que la versión de CommunityServer que me baje para hacer pruebas.

Ahora sólo nos queda seleccionar un Web Site, dentro de sus propiedades seleccionamos el tab Home Directory, y cambiamos el Application Pool, al nuevo Application Pool que hemos creado:

Por cierto al crear nuevos Application Pools nosotros podemos cambiar la identidad de un Application Pool, revisar el siguiente post: Configurar la identidad de un Application Pool en IIS 6.0.

Espero que al terminar de leer el post, y leer el artículo, digan -a… eso era un Application Pool, a yaa…. Por cierto lean el artículo y además repasen las “prácticas mencionadas”. Y también espero, que ahora este gráfico quede más claro:

Esperemos que pronto Iván González nos hable, en sus posts, sobre los principales cambios en los Application Pools en IIS 7.0. Por mientras podemos ir revisando la info en internet: IIS 7.0 Beta: Managing Application Pools in IIS 7.0.

Otros artículos y post de lectura recomendada son:

Saludos,

Post cruzado 3Dev Blogs

6 comentarios en “Los Application Pools, y que tienen que ver con los Web Sites de ASP.NET”

  1. No tengo una pagina web propia pero me toco ayudar a un amigo en su trabajo, y este post nos cayo como anillo al dedo. Gracias viejo por la informacion nos salvastes la vida…..Saludos…

  2. Hola sergio.
    tengo una aplicacion con un apppool casi un mes y hoy comenso a arrojar el siguiente error:
    ‘System.OutOfMemoryException’.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *