Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 61848|Respuesta: 3

[.NET Core] ASP.NET Explicación detallada del Middleware Core

[Copiar enlace]
Publicado en 18/9/2019 11:35:59 | | | |
¿Qué es el Middleware?

El middleware es software que se ensambla en canales de aplicaciones para gestionar solicitudes y respuestas. Cada componente:

  • Elige si pasas la petición al siguiente componente de la pipeline.
  • El trabajo puede realizarse antes y después de invocar el siguiente componente en la pipeline.

Los delegados de petición se utilizan para construir una tubería de solicitudes que gestiona cada solicitud HTTP.

Los delegados de petición se configuran usando los métodos de extensión Run, Map y Use. Un delegado de solicitud separado puede especificarse en un método anónimo en línea (llamado middleware en línea), o puede definirse en una clase reutilizable. Estas clases reutilizables y métodos de anonimización en línea son middleware o componentes middleware. Cada componente middleware en el flujo de solicitudes es responsable de llamar al siguiente componente de la tubería y, si corresponde, de hacer un cortocircuito al enlace.

Migrar módulos HTTP a middleware explica la diferencia entre ASP.NET Core y las canalizaciones de peticiones en versiones anteriores (ASP.NET) y proporciona más ejemplos de middleware.

Utiliza IApplicationBuilder para crear una tubería de middleware

El proceso de solicitud ASP.NET Core consiste en una serie de delegados de solicitud, como se muestra en la siguiente figura (el proceso de ejecución sigue la flecha negra):

Cada delegado puede realizar acciones antes y después del siguiente delegado. El delegado también puede decidir no pasar la solicitud al siguiente delegado, lo que se denomina cortocircuito en la tubería de solicitudes. Un cortocircuito suele ser deseable porque evita trabajos innecesarios. Por ejemplo, el middleware de archivo estático puede devolver una petición para un archivo estático y hacer un cortocircuito en el resto de la canalización. Los delegados de gestión de excepciones deben ser invocados temprano en la pipeline, para que puedan detectar excepciones en pipelines posteriores.

Lo más sencillo probablemente sea configurar un delegado ASP.NET la aplicación Core para gestionar todas las solicitudes. Este escenario no incluye la pipeline de solicitudes en sí. En su lugar, se llama a un método anónimo para cada solicitud HTTP.


La primera app. Run delegate termina la pipeline.

Hay un código así:




Accedido desde el navegador, se descubre que efectivamente está en la primera aplicación. Run termina la canalización.



Puedes delegar varias solicitudes con la app. El uso está conectado. El siguiente parámetro representa al siguiente delegado en la pipeline. (Ten en cuenta que puedes terminar la tubería no llamando al siguiente parámetro.) Normalmente puedes realizar acciones antes y después de la siguiente delegación, como se muestra en el siguiente ejemplo:

Utilizar un navegador para acceder a resultados como:



Se puede ver que el orden de ejecución del delegado de la solicitud sigue el diagrama de flujo anterior.

Nota:

Después de enviar la respuesta al cliente, no llames después. Invoke。 Una vez que comienza la respuesta, los cambios en HttpResponse lanzarán una excepción. Por ejemplo, establecer encabezados de respuesta, códigos de estado, etc., generará una excepción. Escribe el cuerpo de la respuesta después de llamar después.

puede suponer un incumplimiento del acuerdo. Por ejemplo, escribir más de la longitud del contenido descrita en longitud de contenido.

El formato de contenido responsivo puede estar defectuoso. Por ejemplo, escribe un pie de página HTML en un archivo CSS.

HttpResponse.HasStarted es una pista útil para indicar si se ha enviado un encabezado de respuesta y/o si el cuerpo ha sido escrito.


Middleware integrado

ASP.NET Core incluye los siguientes componentes de middleware:


Middlewaredescripción
AutenticaciónSe ofrece soporte para autenticación
CORSConfigurar el intercambio de recursos entre dominios
Caché de respuestaEl soporte para respuesta en caché está disponible
Compresión de respuestaProporcionar soporte para la compresión de respuesta
EnrutamientoDefinir y restringir el enrutamiento de solicitudes
SesiónProporciona gestión de sesiones de usuario
Archivos estáticosProporciona soporte para la navegación estática de archivos y directorios
Middleware de reescritura de URLSe usaba para reescribir URLs y solicitar soporte para redirecciones





Anterior:¡El nuevo producto de Baidu! One Moment Album, actualmente 1 millón de usuarios pueden reclamar almacenamiento ilimitado:
Próximo:Inglés Nivel 4 y 6 Comprensión Oral y Examen de Acceso a Posgrado Reexamen de Vocabulario de Inglés Compartición de Datos Orales
Publicado en 22/9/2021 20:47:00 |
Aprende a aprender...
Publicado en 10/10/2021 18:55:42 |
Aprende para aprender, en este artículo abrió una membresía
Publicado en 10/10/2021 18:59:21 |
https://www.cnblogs.com/stulzq/p/7760648.html
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com