No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Convierte tus certificados en títulos universitarios en USA

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

17 Días
22 Hrs
16 Min
19 Seg

¿Qué son los middlewares?

11/22
Recursos

Aportes 20

Preguntas 12

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Los middlewares personalizados deben de colocarse entre el middleware de **Autorizacion ** y el de endpoints.

Middleware

  • Código que se agrega al ciclo de vida de un petición HTTP

  • Su ejecución es por capas

  • Facilita la implementación de interceptores y filtros sobre las peticiones HTTP

Gracias Miguel, primera vez que veo el porque del orden de los middlewares. A veces uno tiene la duda pero no sabe como plantear las peguntas para poder encontrar la respuesta en internet.

¿Qué son los middlewares?


Los middlewares son componentes en una aplicación web que permiten realizar acciones específicas en cada solicitud que se recibe.

Los middlewares se ejecutan en el orden en que se agregaron en la cadena de solicitudes, y pueden elegir si pasar la solicitud al siguiente middleware en la cadena o si detener la cadena y proporcionar una respuesta.

  • Es una serie de instrucciones de codigo que se agregan al ciclo de vida de una peticion Http
  • Provee una ejecucion de peticiones a travez de capas
  • Facilitan la implementacion de interceptores y filtros sobre las peticiones en un API

Orden de middlewares en .Net

El orden en el que los middlewares son agregados en .NET es crítico, ya que puede afectar el comportamiento de la aplicación.

<aside>
<img src=“https://static.platzi.com/media/achievements/piezas-apis-net_badge-c406370c-4162-4596-8184-78641fd19953.png” alt=“https://static.platzi.com/media/achievements/piezas-apis-net_badge-c406370c-4162-4596-8184-78641fd19953.png” width=“40px” /> Los middlewares personalizadosdeben de colocarse entre el middleware de Autorizacion y el de endpoints.

</aside>

Dejo un cuadro con una pequeña explicación del uso de cada middlewares.

https://whimsical.com/request-RnedaTu87wCdDf7aZ666VN

Necesitamos el curso de seguridad en APIS

Orden de los Middlewares en .NET

Según el framework que se use puede encontrar el listado de los middleware in program.cs o startup.cs

![](https://static.platzi.com/media/user_upload/Screenshot%202023-12-10%20153308-df508a8a-9e10-49c3-a342-f94bd7dbeb6d.jpg)![](<"C:\Users\Mateo\Pictures\Screenshots\Screenshot 2023-12-10 153308.png">)
Middleware Es una serie de instrucciones de código que se agregan al cilco de vida de una petición HTTP. Provee una ejecucion de peticiones a través de capas. Facilitan la implementación de interceptores y filtros sobre las peticiones en una API.
Por alguna extraña razón el uso de los atributos (o decoradores) \[Route()] en el Action Method me daña el comportamiento de dos partes del código: 1. El despliegue de Swagger (que ocurre automatico cuando estamos usando VS) 2. y el despliegue de la pagina web de bienvenida. La forma en la que se implementa el \[Route()] de alguna forma afecta a la cadena. Solo me funciona cuando dejo sólo el atributo \[HttpGet(Name="xx")]: ![](https://static.platzi.com/media/user_upload/image-39ee3477-ff85-40b5-8c43-8df690d4d6cc.jpg) ![](https://static.platzi.com/media/user_upload/image-0ec48d46-2750-4c04-b53a-e527a95dbf65.jpg) ![](https://static.platzi.com/media/user_upload/image-d9d93c9b-fe42-4e33-b91e-bc344a60a62e.jpg)
### **¿Qué es un Middleware?** En el desarrollo web, un middleware es un componente que maneja las solicitudes HTTP entre el servidor y las aplicaciones. Los middlewares pueden modificar, procesar o actuar sobre las solicitudes entrantes y las respuestas salientes antes de que lleguen a su destino final. En una aplicación ASP.NET Core, los middlewares forman una tubería de procesamiento de solicitudes. ### **Funciones de los Middlewares** * **Autenticación y Autorización**: Verifican si un usuario tiene permiso para acceder a ciertos recursos. * **Registro de Solicitudes (Logging)**: Registran información sobre las solicitudes y respuestas. * **Manejo de Errores**: Interceptan y manejan excepciones. * **CORS**: Configuran políticas de Cross-Origin Resource Sharing. * **Compresión de Respuestas**: Comprimen las respuestas HTTP para optimizar el rendimiento. * **Caché**: Almacenan en caché las respuestas para mejorar la eficiencia. ### **Uso de Middlewares en ASP.NET Core** #### Configuración Básica de una Aplicación ASP.NET Core En .NET 8, los middlewares se configuran en el archivo de inicio (`Startup.cs` o `Program.cs`). Aquí es donde se define la tubería de procesamiento de solicitudes. Es importante definir el orden de los middlewares, ya que el orden en el que se registran afecta el flujo de procesamiento de las solicitudes y respuestas. ### **Middlewares Comunes en API REST** En aplicaciones API REST, los middlewares son esenciales para manejar diversas tareas. A continuación, se presentan algunos middlewares comunes y su uso: #### Logging Middleware Registra cada solicitud y respuesta para el diagnóstico y monitoreo. Este tipo de middleware es fundamental para rastrear el comportamiento de la aplicación y solucionar problemas. #### Error Handling Middleware Maneja excepciones no controladas y devuelve respuestas de error adecuadas. Este middleware asegura que los errores se manejen de manera centralizada, proporcionando una mejor experiencia de usuario y facilitando el mantenimiento. #### CORS Middleware Configura la política de CORS para permitir o restringir el acceso a recursos desde otros dominios. Esto es esencial para las API REST que interactúan con aplicaciones web desde diferentes orígenes. ### Middleware de Autenticación y Autorización #### Autenticación Asegura que el usuario esté autenticado antes de acceder a recursos. Este middleware verifica las credenciales del usuario y establece el contexto de seguridad. #### Autorización Asegura que el usuario tenga los permisos necesarios para acceder a recursos específicos. Este middleware evalúa las políticas de autorización y garantiza que solo los usuarios autorizados accedan a ciertos endpoints. ### Conclusión Los middlewares son componentes clave en la arquitectura de aplicaciones ASP.NET Core. Proveen una manera modular y flexible para manejar diversas responsabilidades relacionadas con las solicitudes y respuestas HTTP. Ya sea para registrar, autenticar, autorizar, manejar errores, o configurar CORS, los middlewares permiten construir aplicaciones robustas y mantenibles.
Un ejemplo del ordenamiento de los middleware en el program.css según su orden   ![](https://static.platzi.com/media/user_upload/imagen-d7523ec5-b520-48ba-8f8d-161f6027dda8.jpg)
![](<"C:\Users\Mateo\Pictures\Screenshots\Screenshot 2023-12-10 153433.png">)![](<"C:\Users\Mateo\Pictures\Screenshots\Screenshot 2023-12-10 153433.png">)
app.UseWelcomePage(); Interesante el tema de los middlewares.
Entonces los métodos del Program se deben invocar en el orden que vienen en la ilustración?

Middleware => Es una serie de instrucciones de código que se agregan al ciclo de vida de una petición HTTP.

Excelente aporte, muy buena explicación del profesor 💪.

Orden de como se ejecutan los middlewares