Estado de la aplicación

Definición: ¿Qué significa Estado de la aplicación?

El estado de la aplicación, en el contexto de .NET, es una construcción de software a la que generalmente se accede a través de la propiedad de la aplicación del objeto HttpContext.

Los estados de aplicación generalmente almacenan datos en forma de sustantivos como una persona, lugar o cosa, y presentan un diccionario de valores-clave que se utiliza para almacenar estos objetos y variables. Una clase de estado de aplicación se crea la primera vez que un cliente solicita un recurso de URL y, a menudo, los programadores la utilizan como variables globales visibles para todos los clientes en sus sesiones a partir de entonces.

El estado de la aplicación también se puede llamar estado HttpApplication.

Techinfo explica el estado de la aplicación

La actividad del navegador en forma de solicitudes y respuestas HTTP es intrínsecamente sin estado, lo que significa que cada página enviada al navegador de un usuario no conoce a otros usuarios que podrían estar mirando la misma página o incluso otras páginas a las que ha accedido el mismo usuario.

Esto puede ocasionar algunas dificultades a la hora de brindar una experiencia útil a los usuarios en Internet. Por ejemplo, si un usuario solicita la primera página de 10 páginas de datos de un sitio web, lo más probable es que se produzca una demora cuando el servidor web vaya a una base de datos para recuperar la información. La aplicación web debe ser lo suficientemente inteligente como para reconocer que la página 2 probablemente sea solicitada por el usuario y tomar medidas para proporcionar esta información rápidamente almacenándola en una memoria caché del servidor web. Esto sería difícil de hacer sin algún medio para crear y almacenar variables globales, en este caso, los datos en caché.

El estado de la aplicación proporciona este medio para crear variables globales que pueden ser vistas por todos los usuarios.

Una desventaja de las clases de estado de la aplicación es que pueden causar un punto muerto en el que la actividad de un usuario puede intentar actualizar una variable sin saberlo al mismo tiempo que otro usuario también lo está haciendo, o causar condiciones de carrera y violaciones de acceso.

A pesar de esto, vale la pena usar las clases de estado de la aplicación y puede usarse para brindar una experiencia de usuario mucho mejor para quienes navegan por Internet.

Esta definición se escribió en el contexto de .NET