TOC

This article has been localized into Spanish by the community.

HttpContext:

Introducción

De cuenta a los viejos días, dónde PHP y ASP gobernaban el mundo, ¡tratar con cosas como las query string (o cadenas de consulta) pasaba todo el tiempo! Tú tomarías constantemente la entrada de la URL, a través de la query string, y regresar un contenido basado en estos. Mucho ha sido extraído por el framework ASP.NET MVC - por ejemplo, los parámetros de la cadena de consulta son automáticamente convertidos en parámetros de tipo seguro en tus acciones de controlador y la información Se postea de regreso a través de formularios que pueden ser automáticamente convertidos en tus objetos modelo.

Sin embargo, tú posiblemente qué harías en situaciones donde necesitas ir un poco más a un bajo nivel y estar cerca del pipeline HTTP. Estoy relevante siempre que quieres acceder a la cadena de consulta o a la información del formulario directamente, pero también cuando necesitas tratar con cosas como cookies/sessions y encabezados de respuesta. ASP.NET MVC hace fácil para ti acceder a toda la funcionalidad relacionada a HTTP reuniendo lo todo en la clase HttpContext .

Accesando al HttpContext

La clase HttpContext puede ser accesada desde todos tus controladores. Por conveniencia, puedes Acceder al HttpContext desde una propiedad encontrada en tus controladores llamada HttpContext. Para aún más conveniencia, algunas de las propiedades encontradas en la clase HttpContext están también expuestas como propiedades en el controlador, por ejemplo la propiedad Request .

Accesando al HttpContext desde cualquier lado más que en tus controladores no es Generalmente recomendado. Esto era fácil de cumplir en versiones previas del framework ASP.NET MVC, usando la propiedad HttpContext.Current, pero fue removido en ASP.NET Core, porque básicamente viola alguno de los principios clave de la arquitectura MVC. Sin embargo, si tú realmente necesitas hacerlo, por ejemplo para soportar código legacy, hay formas de hacerlo - te sugiero que le eches un vistazo a esto StackOverflow thread para más información.

Estructura HttpContext

Hay MUCHAS propiedades y métodos relacionadas al pipeline HTTP, así que por conveniencia, los miembros de la clase HttpContext han sido separados en varios objetos con los cuales puedes accesar como propiedades en la clase. Aquí hay una lista de los que posiblemente podrás estar usando la mayoría de las veces:

  • HttpContext.Request - Todos los miembros relacionados a la solicitud actual, por ejemplo QueryString, Forms y más.
  • HttpContext.Response - Todos los miembros relacionados a la respuesta que será entregada, por ejemplo Cookies y encabezados de respuesta.
  • HttpContext.Session - Todos los miembros relacionados al tratamiento con la Session (generalmente utilizado para persistir datos entre solicitudes)
  • HttpContext.User - Todos los miembros de relacionados al tratamiento con un (potencialmente) usuario autenticado.

En los artículos siguientes, indagaremos más profundo en cada uno de estos objetos y hablaremos sobre la mayoría de las funcionalidades importantes encontradas en ellos.

Resumen

La clase HttpContext permite qué te acerques mucho más al pipeline HTTP y trates con un nivel más bajo cosas por ti mismo, por ejemplo QueryString y Cookies.

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!