Explique cómo el servidor web de IIS maneja las solicitudes de ASP.NET (Figura)

  
                  

Cada vez que el servidor recibe una solicitud, IIS la debe procesar. Este no es un artículo que describa el ciclo de vida de asp.net, solo sobre las operaciones de IIS. Antes de comenzar, comprenderlos ayudará a comprender el texto completo y agradeceremos sus comentarios y sugerencias.

¿Qué es el servidor web?

Cada vez que ejecutamos ASP.NET a través de VS, el motor ASP.NET integrado por VS responde a varias solicitudes. El nombre de este motor es " WebDev .WebServer.exe ".

Cuando configuramos una aplicación web, siempre tenemos una palabra "Servidor web", que está diseñada para responder a todas las solicitudes.

¿Cuál es IIS?

IIS (Internet Information Server) es un servidor web de Microsoft, que se utiliza para configurar el sitio ASP.NET. IIS tiene su propio motor de procesamiento ASP.NET para manejar las solicitudes, de modo que cuando llega una solicitud, IIS recibe y procesa la solicitud y luego devuelve el contenido.

procesamiento de solicitudes

Ahora, usted debería ser capaz de averiguar la diferencia entre el servidor web y el IIS. Ahora echemos un vistazo a la parte central. Antes de continuar, debe descubrir dos conceptos:

1. Proceso de trabajo

2. Grupo de aplicaciones

Proceso de trabajo: En IIS, el proceso de trabajo (w3wp.exe) ejecuta una aplicación ASP.NET que administra y responde a todas las solicitudes. Todas las funciones de ASP.NET se ejecutan bajo el proceso de trabajo. Cuando llega la solicitud, el proceso de trabajo genera una Solicitud y Respuesta relacionada con la información. En resumen, el proceso de trabajo es el corazón del programa ASP.NET.

Grupo de aplicaciones: un grupo de aplicaciones es un contenedor para los procesos de trabajo y se usa generalmente para separar procesos de trabajo de diferentes configuraciones. Cuando un programa falla o los recursos del proceso se reclaman, los programas de otros grupos no se ven afectados.

Nota: Cuando un grupo de aplicaciones que contiene varios procesos de trabajo, llama y " Web Garden ".

Si observamos la estructura de IIS 6.0, veremos que se puede dividir en dos partes:

1, Modo kernel

2, módulo de usuario (Modo usuario)

El modo kernel se introdujo desde IIS 6.0. Contiene un archivo llamado HTTP.SYS que activa la respuesta del archivo cada vez que se recibe una solicitud.
archivo

HTTP.SYS es responsable de la petición de entrada del grupo de aplicaciones apropiado. Pero, ¿cómo sabe HTTP.SYS a qué grupo de aplicaciones se debe pasar? Por supuesto, no se extrae de forma aleatoria. Cada vez que se crea un grupo de aplicaciones, la ID del grupo se genera y se registra en el archivo HTTP.SYS, por lo que se puede determinar el archivo. Preguntar dónde pasar.

El anterior es el primer paso en IIS para procesar la solicitud. A continuación, veamos cómo se pasa la solicitud al grupo de aplicaciones desde HTTP.SYS.

En el módulo de usuario de IIS, las solicitudes se reciben desde HTTP.SYS a través de los servicios de administración web (WAS) y se pasan al grupo de aplicaciones apropiado.

Cuando el grupo de aplicaciones sufijo URL recibe una solicitud, que luego se pasa al proceso de trabajo (w3wp.exe), el proceso para comprobar solicitud para determinar las extensiones ISAPI cargados. ASP.NET se enviará con su propia extensión ISAPI (aspnet_isapi.dll) para la asignación en IIS.

Nota: si ha instalado asp.net y luego IIS, debe registrar la extensión ISAPI en ASP.NET con el comando aspnet_regiis.

Aspnet_isapi.dll cargado una vez que el proceso de trabajo, se construirá una clase HttpRuntime que inicia una aplicación, la petición de procesamiento por el método ProcessRequest.

Una vez que se llama a este método, una instancia de HttpContext surge. Esta instancia se puede obtener a través de HTTPContent.Current, y la instancia sobrevivirá todo el ciclo de vida, a través del cual podemos obtener algunos objetos comunes, como Solicitud, Respuesta, Sesión, etc. Después

HttpRuntime carga un objeto HttpApplication por HttpApplicationFactory clase. Cada solicitud pasa por un grupo de HttpModules al HttpHandler para ser respondida. Estos HttpModules están configurados en HttpApplication.

Hay un concepto llamado "Http Pipeline", llamado Pipeline porque contiene una serie de HttpModules que interceptan las solicitudes y las dirigen al HttpHandler correspondiente. También podemos personalizar el HttpModule para hacer un procesamiento especial entre las respuestas de solicitud.

HttpHandler IS " Http conducto y " final. Todas las solicitudes que pasan a través de HttpModule necesitan llegar al HttpHandler correspondiente, y luego HttpHandler genera y genera el contenido de acuerdo con el recurso solicitado. Por este motivo, solicitamos cualquier página aspx para obtener el contenido HTML que responde.

Conclusión

cada vez que cierta información en el servidor Web una petición que llega primero http.sys, http.sys luego la envía a la piscina aplicación adecuada El grupo de aplicaciones se pasa al proceso de trabajo y se carga la extensión ISAPI, luego se crea el objeto HttpRuntime y la solicitud se procesa a través de HttpModule y HttpHandler.

Finalmente, comienza el ciclo de vida de la página ASP.NET.

Copyright © Conocimiento de Windows All Rights Reserved