Definição – o que significa o estado do aplicativo?
O estado do aplicativo, no contexto do .NET, é uma construção de software que geralmente é acessada por meio da propriedade do aplicativo do objeto HttpContext.
Os estados do aplicativo geralmente armazenam dados na forma de substantivos, como uma pessoa, lugar ou coisa, e apresentam um dicionário de valor-chave usado para armazenar esses objetos e variáveis. Uma classe de estado do aplicativo é criada na primeira vez que um recurso de URL é solicitado por qualquer cliente e é freqüentemente usada por programadores como variáveis globais visíveis por todos os clientes em suas sessões subsequentes.
O estado do aplicativo também pode ser chamado de estado HttpApplication.
Definirtec explica o estado do aplicativo
A atividade do navegador na forma de solicitações e respostas HTTP é inerentemente sem estado – o que significa que cada página enviada ao navegador de um usuário não sabe sobre outros usuários que podem estar visualizando a mesma página ou até mesmo outras páginas que o mesmo usuário acessou.
Isso pode causar algumas dificuldades quando se trata de fornecer uma experiência útil aos usuários na Internet. Por exemplo, se um usuário solicitou a primeira página de 10 páginas de dados de um site, provavelmente haveria um atraso, pois o servidor da Web vai para um banco de dados para recuperar as informações. O aplicativo da web deve ser inteligente o suficiente para reconhecer que a página 2 provavelmente seria solicitada pelo usuário e tomar medidas para fornecer essas informações rapidamente, armazenando-as em um cache de memória do servidor da web. Isso seria difícil de fazer sem alguns meios de criar e armazenar variáveis globais – neste caso, os dados em cache.
O estado do aplicativo fornece esse meio de criar variáveis globais que podem ser vistas por todos os usuários.
Uma desvantagem das classes de estado do aplicativo é que elas podem causar um deadlock em que a atividade de um usuário pode, sem saber, tentar atualizar uma variável ao mesmo tempo que outro usuário também está fazendo isso, ou causar condições de corrida e violações de acesso.
Apesar disso, o uso de classes de estado do aplicativo vale a pena e pode ser usado para fornecer uma experiência de usuário muito melhor para aqueles que navegam na Internet.
Esta definição foi escrita no contexto do .NET