¿Cuál es el núcleo de ASP.NET?
Este objeto es el objeto central más importante.
Atributos: HttpRequest, HttpResponse, atributo estático HttpContext. Actual, servidor, caché.
Atributos auxiliares Usuario, Artículo
Los atributos de usuario se almacenan en la información de identidad del usuario para la solicitud actual. Para determinar si el usuario que realiza la solicitud actualmente ha sido autenticado, puede acceder a la propiedad de la instancia: Request.IsAuthenticated.
Este es un diccionario, por lo que es adecuado para acceso clave/valor. Esta propiedad es el contenedor de almacenamiento ideal si desea guardar algunos datos temporales entre solicitudes. Se volverá a crear en la siguiente solicitud, por lo que los datos no se comparten entre diferentes solicitudes.
Si desea proporcionar algunos atributos estáticos y solo desea estar asociado con una solicitud, se recomienda utilizar el atributo de instancia de HttpContext. Proyectos que lo hacen realidad.
HttpRequest,
Permite que ASP.NET lea los valores HTTP enviados por el cliente durante una solicitud web.
Todos los datos de entrada contenidos en HttpRequest, como QueryString, formulario, cookie, encabezado de solicitud (ip, nombre de host, dirección Mac), información relacionada con el navegador, ruta de archivo relacionada con el mapeo de la solicitud, detalles de URL, método de solicitud, si la solicitud está autenticada, si es SSL, etc.
Una gran cantidad de propiedades como: IsAuthenticated, HttpMethod, QueryString, Form, Files, Cookies, InputStream, Headers, Path, Browser, RawUrl, MapPath, FilePath, Url, Params, ApplicationPath, apprelativecurrentexecutionfile Path, ruta de archivo, etc.
HttpHandler, HttpModule
HttpModule verifica la solicitud,
HttpHandler maneja el evento.
HttpResponse
Devuelve el resultado al cliente. Todas las operaciones que deban devolverse al cliente deben llamar al método HttpResponse.
Por ejemplo: encabezado de respuesta, flujo de respuesta.
Tiene propiedades: StatusCode, ContentType, Cookies, OutputStream, Cache, Filter, etc.
Método:
AppendHeader()
Escribir()
End()
Redireccionar()
TransmitFile()
Cuando el servidor no puede devolver el resultado correcto debido a una excepción, establezca el atributo StatusCode, por ejemplo: Respuesta. StatusCode = 500, activa el método de devolución de llamada ajax del cliente: error: function(){alert("¡Error del servidor!") )}
Filtro de HttpRequest y HttpResponse El efecto de este atributo es el modo decorador y puede. ser modificado.
HttpRuntime,
Hay: HttpRuntime. Caché de caché. página. Caché o HttpContext. El caché es una referencia a él.
HttpServerUtility
Además: método HtmlEncode(), utilizado para prevenir ataques de inyección, que se encarga de generar de forma segura un fragmento de código HTML.
HtmlAttributeEncode(), que también se utiliza para evitar ataques de inyección y generar atributos HTML de forma segura.
JavaScriptStringEncode() también se utiliza para generar de forma segura código JS en el servidor para evitar ataques de inyección.
El método UrlEncode() codifica la URL.
HtmlDecode(), UrlDecode() se utilizan para decodificar.
Execute() Este método es útil para obtener la salida HTML de una página o control de usuario.
aplicación http
Después de crear el objeto HttpContext, HttpRuntime creará un objeto para procesar solicitudes, cuyo tipo es HttpApplication.
HttpApplication tiene 19 eventos estándar.
BeginRequest, este evento marca el inicio del procesamiento del servidor.
Después de procesar la solicitud, la primera tarea es verificar la identidad del usuario para implementar mecanismos de seguridad.
Manejado por dos eventos: AuthenticateRequest y PostAuthenticateRequest.
Solicitud de autenticación AuthenticateRequest, generalmente utilizada para procesar la información solicitada del usuario.
PostAuthenticateRequest ha obtenido la información de usuario solicitada.
Cuando se activa el cuarto evento AuthorizeRequest, significa verificar los permisos del usuario.
El quinto evento marca la finalización de la verificación de permisos del usuario.
Si el usuario no supera la comprobación de seguridad, los eventos restantes generalmente se omitirán y el último evento se activará directamente para finalizar el procesamiento.
La etiqueta de evento ResolveRequestCache comprueba el caché.
PostResolveRequestCache indica el final de la comprobación de la caché.
(Este lugar es muy especial. Si hay un caché, ¿los resultados se devolverán al usuario inmediatamente?)
ASP.NET proporciona muchos controladores y los programadores también pueden definirlos. programa de manejo. Para manejar esta solicitud, ASP.NET debe encontrar un controlador basado en reglas coincidentes para manejar la solicitud actual.
El evento PostMapRequestHandler indica que ASP.NET ha obtenido este objeto Handler y el controlador HttpContext representa este objeto Handler.
Para obtener los datos guardados previamente del usuario, el evento AcrequireRequestState proporciona un punto de partida para los programadores, y PostAcrequireRequestState indica que los datos del usuario se han obtenido y se pueden utilizar en el procesamiento.
El siguiente paso es que PreRequestHandlerExcute comience a decirle al programador que el controlador está a punto de comenzar a funcionar. Si se ha obtenido el estado del usuario, todavía queda trabajo por hacer antes de que el controlador pueda manejarlo. Comencemos con este evento.
Después del evento PreRequestHandlerExcute, el servidor ASP.NET completará el procesamiento de la solicitud ejecutando un controlador, que puede ser un formulario web o un servicio web.
Una vez completado el controlador, el servidor comienza a finalizar el trabajo y PostRequestHandlerExcute notifica al programador que el controlador del servidor ASP.NET se ha completado.
¡El incidente número 12 es un nodo importante!
El evento ReleaseRequestState notifica al programador que libere los datos especiales operados en el controlador, y PostReleaseRequestState indica que la liberación se ha completado.
Si desea almacenar en caché el resultado de este procesamiento para poder usarlo directamente en solicitudes posteriores, UpdateRequestCache brinda la oportunidad de procesarlo.
PostUpdateRequestCache indica que el caché se ha actualizado.
Los 16 eventos anteriores han terminado y quedan tres eventos más.
17 Operación de registro solicitada por LogRequest
18 PostLogRequest ha completado la operación de registro solicitada.
19 EndRequest Esta solicitud finaliza aquí.
Después de crear el dominio de la aplicación, se crea un objeto ISAPIRuntime y se llama automáticamente a su método ProcessRequest().
Cree un objeto HttpWorkerRequest, llame al método StartProcessing() del objeto ISAPIRuntime e inicie la canalización HTTP. Cree un objeto de tipo HttpRuntime. El objeto HttpRuntime llama al método ProcessRequest() para crear un objeto HttpContext. El objeto HttpContext contiene dos objetos muy comunes en programación: HttpResponse (información devuelta al navegador para su procesamiento) y HttpRequest (obteniendo información de solicitud Http).
Objeto HttpModule: se inicializa cuando se inicializa el objeto HttpApplication. Una HttpApplication puede tener varios objetos HttpModule. La principal responsabilidad del objeto HttpModule es registrar los eventos correspondientes a los eventos HttpPapplicatioin en diferentes períodos. Por ejemplo, autenticación completa, autorización, almacenamiento en caché de operaciones, etc. El módulo de enrutamiento urlroutemodule de Asp.Net MVC simplemente reescribe HttpModele.
Objeto HttpHandler: inicializado al inicializar el objeto HttpApplication. Una HttpApplication puede tener varios objetos HttpHandler y HttpHandler es responsable del procesamiento final de las solicitudes Http. Diferentes archivos tienen diferentes HttpHanders para manejar. Asp.Net MVC El identificador MVC completa el procesamiento final.