Friday, November 8, 2024

ASP.NET Core novedades y mejoras

Sesión 1: 3h52m30s

Arquitectura de ASP.NET Core

Lo que antes necesiba para hacer mi aplicación en ASP.NET (consumo de recursos, muy pesado)


OWIN es una especificación. Su implementación fue Katana lo cual evolucionó a ASP.NET Core.


La arquitectura completa de ASP.NET Core es la siguiente:


Un Middleware es componente que está entre el cliente y el endpoint. Captura, modifica el request y el response. En el viejo ASP.NET se tienen los Handlers. Un Middleware es para todas las solicitudes mientras que un Filter es para un endpoint en específico.


ASP.NET Core MVC es tecnología de servidor que implementa el patrón MVC el cual genera un salida  HTML. Tiene un antipatrón porque no se debe generar código cliente en el servidor. Ese antipatrón se conoce como "Mixing of Concerns" o "Server-Side Rendering of Client-Side Code".  Es menos escalable porque todo el procesamiento se hace en el lado del servidor. Aunque tiene algunas ventajas: Puede hacer encriptamiento. No se recomiendo mucho su uso a menos que esté justificado. Una de las justificaciones es la seguridad.



ASP.NET Core API & Minimal APIs: 

¿Hay alguna manera de que el navegador pueda ejecutar C#, Python, Java, etc? Sí, la tecnología Web Assembly, un estándar que nos permite generar compiladores que permiten ejecutar codigo C#, Python, Java, etc. con ciertas limitaciones. En el caso de Microsoft se llama Blazor Web Assembly el cual permite ejecutar código C# en el navegador.

¿Cómo puede hacer para que el servidor le envíe un mensaje al cliente? Websocket, Server-Sent Events (SSE), Long Pooling. Para que estos protocolos el servidor y el cliente deben aceptar el protocolo. SignalR es un framework que automatiza Websocket, SSE y Long Pooling.


gRPC es un protocolo de Google que permite la comunicación en binario. Los navegadores web todavía no tienen la serialización de binario. gRPC se utiliza normalmente cuando se quiere comunicar 2 servicios. La comunicación binaria es mucho más rápida.



Mejoras principales en ASP.NET 8

  • Mejoras de rendimiento
  • Adiciones a Blazor y Minimal APIs
  • Cambios en el servidor y en el runtime

Nuevas características de ASP.NET Core 7

  • HTTP/2 WebSockets
  • HTTP/3
  • Output caching
  • Rate limiting: restringir la cantidad de peticiones por algún tipo de regla para evitar ataques de denegación de servicio.
  • Request decompression

Nuevas características de ASP.NET Core 8

  • Rout short-circuiting
  • Ekeyd service registration
  • Soporte nuevas métricas
  • Mejora de los background services
  • .http files en Visual Studio
  • Cambios en Identity
  • HTTP/3 por defecto
  • Native OAT (compilación nativa)
  • Form binding en Mnimal APIs
  • Depuración mejorada


Route Short-cicuit



NET Compilation Workflows



Output Caching









No comments:

Post a Comment

Cuando el código funciona, pero no tiene tests: ¿y ahora qué?

Seguramente te ha pasado alguna vez. Te dan acceso al repositorio de un nuevo proyecto. Lo abres con curiosidad, esperas encontrar una estru...