Desgobierno
digitalMuseo de código público
Tecnologías · Lenguajes y marcosépoca 2005 – ~2012
Lenguajes y marcos · 2005 – ~2012

ASP.NET 1.x / 2.0

ASP.NET WebForms sobre el runtime .NET 2.0. La cabecera X-AspNet-Version: 2.0.50727 es literalmente el número de compilación del .NET Framework 2.0, publicado en 2005.

Por qué entonces

WebForms fue un intento deliberado de que programar para web se pareciera a programar una aplicación de escritorio: arrastras un botón, escribes su evento Click y el framework se encarga del resto. Para una plantilla formada en Visual Basic —que es la que tenían muchos departamentos públicos— fue la puerta de entrada a la web sin reciclarse.

Qué pasó

El precio de esa comodidad fue el ViewState: un campo oculto donde se serializa el estado entero de la página y viaja en cada petición. Cuando llegaron el móvil y el JavaScript moderno, ese modelo se hizo insostenible. Microsoft se movió a MVC (2009) y luego a ASP.NET Core.

Por qué está mal hoy

El runtime .NET 2.0 dejó de recibir soporte independiente hace años. Y el ViewState de esa generación tiene un historial serio de problemas de deserialización cuando las claves de máquina son débiles o compartidas.

En lo público

Que la cabecera anuncie la versión exacta del runtime es, además, un regalo gratuito: cualquiera sabe contra qué está mirando sin hacer nada.

El arreglo

Migración a .NET moderno. Es un salto grande; el paso intermedio realista es dejar de publicar la cabecera y aislar la aplicación detrás de un proxy mientras se planifica.

Esta ficha explica la tecnología; los casos concretos, con su cita y su procedencia, viven en las piezas.