Saltar al contenido

¿Cuál es la diferencia entre el modo de canalización ‘clásico’ e ‘integrado’ en IIS7?

Comprende el código de forma correcta previamente a usarlo a tu trabajo y si ttienes algo que aportar puedes dejarlo en la sección de comentarios.

Solución:

El modo clásico (el único modo en IIS6 y versiones anteriores) es un modo en el que IIS solo funciona directamente con extensiones ISAPI y filtros ISAPI. De hecho, en este modo, ASP.NET es solo una extensión ISAPI (aspnet_isapi.dll) y un filtro ISAPI (aspnet_filter.dll). IIS solo trata a ASP.NET como un complemento externo implementado en ISAPI y funciona con él como una caja negra (y solo cuando es necesario enviar la solicitud a ASP.NET). En este modo, ASP.NET no es muy diferente de PHP u otras tecnologías para IIS.

El modo integrado, por otro lado, es un nuevo modo en IIS7 donde la canalización de IIS está estrechamente integrada (es decir, es igual) que la canalización de solicitud de ASP.NET. ASP.NET puede ver todas las solicitudes que desee y manipular las cosas en el camino. ASP.NET ya no se trata como un complemento externo. Está completamente combinado e integrado en IIS. En este modo, ASP.NET HttpModules básicamente tienen casi tanta potencia como habría tenido un filtro ISAPI y ASP.NET HttpHandlerLos correos electrónicos pueden tener una capacidad casi equivalente a la que podría tener una extensión ISAPI. En este modo, ASP.NET es básicamente una parte de IIS.

Modo de grupo de aplicaciones integrado

Cuando un grupo de aplicaciones está en modo integrado, puede aprovechar la arquitectura integrada de procesamiento de solicitudes de IIS y ASP.NET. Cuando un proceso de trabajo en un grupo de aplicaciones recibe una solicitud, la solicitud pasa por una lista ordenada de eventos. Cada evento llama a los módulos nativos y administrados necesarios para procesar partes de la solicitud y generar la respuesta.

Existen varios beneficios al ejecutar grupos de aplicaciones en modo integrado. Primero, los modelos de procesamiento de solicitudes de IIS y ASP.NET se integran en un modelo de proceso unificado. Este modelo elimina pasos que antes se duplicaban en IIS y ASP.NET, como la autenticación. Además, el modo integrado permite la disponibilidad de funciones administradas para todos los tipos de contenido.

Modo de grupo de aplicaciones clásico

Cuando un grupo de aplicaciones está en modo clásico, IIS 7.0 maneja las solicitudes como en el modo de aislamiento de procesos de trabajo de IIS 6.0. Las solicitudes de ASP.NET primero pasan por los pasos de procesamiento nativos en IIS y luego se enrutan a Aspnet_isapi.dll para el procesamiento del código administrado en el tiempo de ejecución administrado. Finalmente, la solicitud se enruta de vuelta a través de IIS para enviar la respuesta.

Esta separación de los modelos de procesamiento de solicitudes de IIS y ASP.NET da como resultado la duplicación de algunos pasos de procesamiento, como la autenticación y la autorización. Además, las funciones de código administrado, como la autenticación de formularios, solo están disponibles para aplicaciones ASP.NET o aplicaciones para las que haya asignado un script a todas las solicitudes para que sean manejadas por aspnet_isapi.dll.

Asegúrese de probar la compatibilidad de sus aplicaciones existentes en modo integrado antes de actualizar un entorno de producción a IIS 7.0 y asignar aplicaciones a grupos de aplicaciones en modo integrado. Solo debe agregar una aplicación a un grupo de aplicaciones en el modo clásico si la aplicación no funciona en el modo integrado. Por ejemplo, su aplicación puede basarse en un token de autenticación que pasa de IIS al tiempo de ejecución administrado y, debido a la nueva arquitectura de IIS 7.0, el proceso interrumpe su aplicación.

Tomado de: ¿Cuál es la diferencia entre DefaultAppPool y Classic .NET AppPool en IIS7?

Fuente original: Introducción a la arquitectura IIS

IIS 6.0 y versiones anteriores:

ASP.NET se integró con IIS a través de una extensión ISAPI, una API C (API basada en lenguaje de programación C) y expuso su propio modelo de procesamiento de solicitudes y aplicaciones.

Esto expuso efectivamente dos canalizaciones de servidor (solicitud/respuesta), una para filtros ISAPI nativos y componentes de extensión, y otra para componentes de aplicaciones administradas. Los componentes de ASP.NET se ejecutarían completamente dentro de la burbuja de extensión ASP.NET ISAPI Y SOLO para solicitudes asignadas a ASP.NET en la configuración del mapa de secuencias de comandos de IIS.

Solicitudes a tipos de contenido que no son de ASP.NET: imágenes, archivos de texto, páginas HTML y páginas ASP sin secuencias de comandos, fueron procesadas por IIS u otras extensiones ISAPI y NO eran visibles para ASP.NET.

La principal limitación de este modelo era que los servicios proporcionados por los módulos ASP.NET y el código de aplicación ASP.NET personalizado NO estaban disponibles para solicitudes que no fueran ASP.NET.

¿Qué es un MAPA DE GUIÓN?

Los mapas de secuencias de comandos se utilizan para asociar extensiones de archivo con el controlador ISAPI que se ejecuta cuando se solicita ese tipo de archivo. El mapa de secuencias de comandos también tiene una configuración opcional que verifica que el archivo físico asociado con la solicitud existe antes de permitir que se procese la solicitud.

Un buen ejemplo puede ser seen here

IIS 7 y superior

IIS 7.0 y versiones posteriores se han rediseñado desde cero para proporcionar una nueva ISAPI basada en la API de C++.

IIS 7.0 y versiones posteriores integran el tiempo de ejecución de ASP.NET con la funcionalidad central del servidor web, lo que proporciona una canalización de procesamiento de solicitudes unificada (única) que está expuesta a componentes nativos y administrados conocidos como módulos (IHttpModules)

Lo que esto significa es que IIS 7 procesa las solicitudes que llegan para cualquier tipo de contenido, con ambos NON ASP.NET Modules / native IIS modules y ASP.NET modules proporcionar procesamiento de solicitudes en todas las etapasEsta es la razón por la cual los tipos de contenido NO ASP.NET (.html, static archivos) pueden ser manejados por módulos .NET.

  • Puede crear nuevos módulos gestionados (IHttpModule) que tienen la capacidad de ejecutar todo el contenido de la aplicación y proporcionaron un conjunto mejorado de servicios de procesamiento de solicitudes para su aplicación.
  • Agregar nuevos controladores administrados ( IHttpHandler)

No se te olvide mostrar este enunciado si lograste el éxito.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

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