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, 16 de febrero de 2016
Noooooo!Hace unos días, el amigo Eloy Ortiz, ex-alumno de mi curso de ASP.NET MVC 5 en CampusMVP, me comentaba vía email un problema que había encontrado con una aplicación MVC que debía ser utilizada desde clientes con Internet Explorer 11 en un entorno corporativo.

El problema consistía básicamente en que Internet Explorer ignoraba las cookies, tanto las responsables de mantener el seguimiento de estado de la sesión (ASP.NET_SessionId), las de autenticación (.AspNet.ApplicationCookie) u otras cookies creadas a propósito por la aplicación, lo que hacía imposible su uso.

La verdad es que no pude ayudarlo demasiado porque es un tema que no me había ocurrido nunca y en un escenario que no era sencillo de reproducir. Intenté darle algunas pistas sobre qué podía ir mirando para identificar el origen del problema, pero finalmente no llevaron a ninguna parte y probablemente no sirvieron nada más que para aumentar la incertidumbre.

Algunos días después, me contactaba de nuevo diciéndome que había encontrado el problema, y me ha parecido tan curioso que pensé que sería interesante comentarlo por aquí, por si a alguien más le ocurre lo mismo.

lunes, 15 de febrero de 2016
martes, 9 de febrero de 2016
ASP.NET CorePues a estas alturas, no son pocos los posts que hemos ido publicado por aquí sobre características que cambian o desaparecen en el salto a las nuevas tecnologías "core", pero no se vayan todavía, aún hay más ;)

En esta ocasión, comentaremos muy brevemente una gran ausencia en las vistas Razor: la directiva @helper, que no estará disponible en la primera versión de ASP.NET Core MVC.

<Disclaimer>Aunque en una Release Candidate las cosas no deberían cambiar, ya han demostrado bastantes veces que sí que cambian, por lo que algo de lo que digamos aquí podría no ser cierto en la versión final del producto</Disclaimer>

Esto no es un tema reciente: hace ya bastantes meses, la implementación que había era bastante incompleta y no encajaba bien en la nueva arquitectura, por lo que tras algunos debates y reuniones de diseño, se decidió que lo mejor era eliminar esta directiva.
martes, 2 de febrero de 2016
Ojo a los autobusesMe encanta encontrar definiciones más o menos conocidas de conceptos o ideas que se nos han pasado por la cabeza en algún momento sin saber que otros ya les habían dado forma, porque demuestra que todos los que nos dedicamos a esto tenemos poco más o menos las mismas inquietudes.

En este caso, me ha entusiasmado dar por casualidad con el "bus factor", un término que seguro muchos conocíais pero para mi ha sido un descubrimiento reciente, que básicamente da forma a la pregunta que seguro que todos nos hemos hecho sobre la continuidad de algunos proyectos ante determinados acontecimientos inesperados.

Imaginemos que todo el equipo de desarrollo de un proyecto va caminando por la calle, y un autobús que circulaba cerca pierde el control y les arrolla de forma violenta. ¿A cuántos miembros del equipo tendría que afectar fatalmente este accidente para poner en gran peligro la continuidad del proyecto?
lunes, 1 de febrero de 2016
martes, 26 de enero de 2016
ASP.NET CoreLo malo que tiene escribir sobre un producto que está en construcción es que a veces los artículos quedan desfasados muy rápidamente. Ya hemos visto por aquí otros casos en los que he tenido que actualizar contenidos cuando los chicos del equipo de ASP.NET han estornudado… y últimamente, con los fríos del invierno, parece que andan bastante resfriados ;)

Y hoy vamos a comentar muy rápidamente otro cambio que han introducido hace relativamente poco tiempo, y que afecta a lo que contábamos hace algunas semanas sobre la nueva carpeta "wwwroot", el lugar donde colocaremos todos los archivos estáticos usados por nuestra aplicación web.
lunes, 25 de enero de 2016
miércoles, 20 de enero de 2016
ASP.NET 5 se llama ahora ASP.NET CoreCuando aún todos conocíamos el nuevo framework de desarrollo para la web con el nombre "ASP.NET vNext" y llegó el momento de darle un nombre definitivo, hubo bastante discusión al respecto. Internamente se debatió bastante, se propusieron varias alternativas y al final se optó por la línea continuista: la nueva criatura se llamaría "ASP.NET 5".

Este mismo criterio se aplicó a otros productos que también habían sido creados from scratch, como .NET Core, que se versionó como 5.0, o el nuevo Entity Framework, cuya flamante primera versión sería la 7.0.

La cuestión es que este enfoque en la asignación de nombres y versiones no fue del agrado de muchos, que pensábamos que algo creado desde cero y que rompía en bastantes aspectos con lo anterior no tenía sentido lanzarlo a la calle simplemente como un incremento de versión de un producto existente. Es difícil de explicar y difícil de comprender.

Pues bien, hace unas horas recibíamos el comunicado oficial de que ASP.NET 5 ha cambiado su nombre por ASP.NET Core.
martes, 19 de enero de 2016

ASP.NET CoreHace poco veíamos cómo crear un middleware capaz de realizar transformaciones simples en los encabezados de respuesta de nuestras aplicaciones ASP.NET Core.

Nuestro componente, al que habíamos llamado HeaderTransformMiddleware, podíamos añadirlo al pipeline indicándole qué encabezados queríamos modificar y con qué valores (o nulo, si lo que queríamos era eliminar el encabezado). Por ejemplo, con el siguiente código añadíamos el encabezado "X-Author" y suprimíamos "Server":
var transforms = new Dictionary<string, string>()
{
    ["X-Author"] = "José M. Aguilar",
    ["Server"] = null
};
app.UseHeaderTransform(transforms);
Tras añadirlo al pipeline, la ejecución de una petición a una aplicación podríamos tener el siguiente resultado en los encabezados:
HTTP/1.1 200 OK
Content-Type: text/html; charset=utf-8
Vary: Accept-Encoding
X-Author: José M. Aguilar
X-Powered-By: ASP.NET
Content-Length: 8011
El problema viene cuando intentamos eliminar ese "X-Powered-By: ASP.NET" que aparece siempre que ejecutamos nuestra aplicación sobre IIS Express o IIS. En este caso, cualquier intento de eliminarlo usando middlewares será infructuoso.
lunes, 18 de enero de 2016
martes, 12 de enero de 2016
lunes, 11 de enero de 2016
The best of 2015Estimados amigos, antes de nada me gustaría aprovechar este primer post del año para desearos un 2016 repleto de cosas buenas. Parece que las cosas pintan algo mejor para este año recién estrenado, y espero que así sea para todos :)

Y dicho esto, vamos a hacer un rápido repaso por los diez artículos publicados durante el año pasado que más visitantes atrajeron a Variable not found a lo largo de este periodo.