Saltar al contenido

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript... y lo que venga ;)

17 años online

el blog de José M. Aguilar

Inicio El autor Contactar

Artículos, tutoriales, trucos, curiosidades, reflexiones y links sobre programación web
ASP.NET Core, MVC, Blazor, SignalR, Entity Framework, C#, Azure, Javascript...

¡Microsoft MVP!
martes, 26 de enero de 2021
Entity Framework Core

El desarrollo de EF6.TagWith lo comencé hace algo más de un año, cuando escribía para el blog lo interesante que me parecía el extensor TagWith() de Entity Framework Core y me preguntaba por qué no existía algo similar para Entity Framework 6.x.

Como recordaréis, la idea era traer a EF "clásico" la posibilidad de añadir a consultas realizadas desde C# un comentario o etiqueta que después podría ser fácilmente visible en trazas, como las proporcionadas por SQL Server Profiler o herramientas de análisis de rendimiento.

No pensé que existieran muchos desarrolladores a los que pudiera interesar, pero con el tiempo esto me ha servido para confirmar que cualquier aportación a la comunidad, por pequeña que sea, puede ayudar a un buen número de personas.

A día de hoy, y por increíble que parezca, este pequeño y humilde paquetito ha sido instalado más de 6.000 veces, con una media de 10 descargas al día, y ha recibido issues y pull requests de desarrolladores que han decidido contribuir a su mejora a través del sitio del proyecto en GitHub. Impresionante.

Pues bien, por fin he podido dedicar un rato a actualizarlo y he publicado su versión 1.2.1. Esta revisión soluciona algunos errores menores y problemas de compatibilidad con proyectos .NET Framework 4.5, además de incluir un par de novedades fruto del feedback recibido de sus usuarios, que describimos a continuación.

lunes, 25 de enero de 2021
Enlaces interesantes

Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)

Por si te lo perdiste...

.NET Core / .NET

martes, 19 de enero de 2021
.NET Core

Leyendo las novedades de C# 9, hay una que pasa casi completamente desapercibida pero que me ha llamado la atención: la posibilidad de convertir prácticamente cualquier tipo en enumerable.

La magia consiste en que, a partir de esta versión, se podrá recorrer con un foreach objetos que, o bien implementen IEnumerable o directamente el conocido GetEnumerator(), como lo hacen los arrays o strings, o bien existe un método extensor con el mismo nombre declarado sobre el tipo.

lunes, 18 de enero de 2021
Enlaces interesantes

Ahí van los enlaces recopilados durante la semana pasada. Espero que os resulten interesantes. :-)

Por si te lo perdiste...

.NET Core / .NET

martes, 12 de enero de 2021
Top ten 2020 en Variable not found

Pues parece que por fin hemos conseguido quitarnos de encima el nefasto 2020, y afrontamos un nuevo año con la esperanza de que sea, al menos, algo mejor que el anterior. Os deseo a todos que así sea; sobre todo que la salud os acompañe a vosotros y los que os rodean, y que esto permita que seáis felices tanto en lo personal como en lo profesional.

Y dicho esto, llega la hora de acudir a las tradiciones: el repaso de los posts más visitados durante el año que acabamos de dejar atrás, donde, como podemos ver, Blazor ha entrado con bastante fuerza :)

Top ten 2020 en Variable not found

Comenzando por el décimo puesto, encontramos el post cómo mostrar el número de usuarios conectados a una aplicación Blazor Server, en tiempo real, un interesante ejercicio que nos ayudaba a comprender cómo funcionan los circuitos de Blazor Server y cómo sacar partido a los componentes internos que nos permiten introducirnos en su ciclo de vida.

La novena posición la ocupa nuestro amigo Mario, protagonista del post incluir recursos estáticos en una Biblioteca de Clases Razor (RCL), donde lo usábamos para crear un componente Razor reutilizable que mostraba al simpático personaje correteando por la pantalla.

Continuamos con Blazor gracias a la serie sobre los mecanismos de interoperación con Javascript de este framework. En concreto, el post Cómo invocar métodos de instancia C# desde Javascript con Blazor es el que más vistas ha tenido, probablemente por su atractiva propuesta ;)

La posibilidad de publicar aplicaciones .NET Core en modo auto-contenido y en un único archivo no ha pasado desapercibida para los lectores del blog. Por ello, el post publicación self-contained y single-file en .NET Core, aparece ocupando la séptima posición del ranking anual.

Muy cerca del anterior en número de visitas, encontramos la respuesta a una pregunta relativamente frecuente a la hora de desarrollar aplicaciones .NET: ¿Usar try/catch es malo para el rendimiento?. Una respuesta con demostración incluida, gracias al imprescindible BenchmarkDotnet.

La basura que va dejando en vuestro equipo las distintas versiones y revisiones de .NET Core conforme evoluciona el producto también parece haberos preocupado o, al menos, os ha llamado la atención. La aparición de una herramienta para limpiarlas fácilmente fue el detonante para escribir el post desinstala fácilmente versiones antiguas de .NET Core con "dotnet-core-uninstall".

AddMvc(), AddControllers(), AddControllersWithViews(), AddRazorPages()... ¿qué es todo eso?, ya en quinta posición de la lista, intentaba aclarar qué eran esos nuevos métodos que aparecían en el intellisense a la hora de registrar los servicios de MVC o Razor Pages a partir de la llegada de ASP.NET 3.0.

En tercera y cuarta posición respectivamente encontramos dos post muy relacionados. En el primero de ellos, describiendo APIs ASP.NET Core con Swagger, veíamos los conceptos básicos de OpenAPI y el uso de Swashbuckle para describir nuestras APIs creadas con ASP.NET Core. En el segundo, cómo documentar y generar código cliente de nuestras APIs utilizando Swagger/OpenAPI, revisábamos cómo sacar partido de dicha descripción, generando automáticamente la documentación de la API e incluso código cliente para acceder a ella.

A cierta distancia de los anteriores, ya en segundo puesto, tenemos la solución a un error que frecuentemente encontramos al desarrollar aplicaciones ASP.NET Core con Visual Studio e IIS Express. El post cómo solucionar el error "Unable to connect to web server 'IIS Express'" en Visual Studio describe paso a paso qué hacer cuando nos topamos con este incómodo inconveniente al ejecutar las aplicaciones.

And the winner is...

Y por último, el indiscutible vencedor del año: ¿qué es Blazor, eso de lo que todo el mundo habla?. Este post intentaba despejar dudas en un momento en el que la palabra "Blazor" empezaba a sonar más de la cuenta y a despertar el interés de muchos desarrolladores, entre los que, por supuesto, me incluyo.

Para acabar, me gustaría también hacer una mención especial a ¡Toma las riendas! ¡Conviértete en Desarrollador 10x Certificado!, el post publicado el 28 de diciembre que, si bien no ha conseguido entrar en el ranking, se ha quedado bien cerca a pesar de haber tenido pocos días para acumular visitas. Me he divertido mucho escribiéndolo, leyendo las respuestas y comentarios que me han llegado por diversas vías, y comprobando que algunos incluso habéis traducido los textos en japonés para ver qué ponía :D

¡Vamos a por 2021!

Publicado en Variable not found.