Diferença entre Session e ViewState

Session vs ViewState

ViewState e session são duas das soluções para problemas em aplicativos da web. O problema envolve um usuário de computador acessando uma página da web em um período específico de tempo. Após algum tempo de uso ou após o usuário fechar o aplicativo, as informações e o acesso da página da web são excluídos dos logs de uso recentes.

O ViewState é válido apenas durante postbacks e aplicável apenas a dados serializados. O ViewState, acima de tudo, é um objeto / arquitetura que permite que os controles da Web mantenham seu valor entre postbacks. Como a sessão, o ViewState pode ser executado e estar acessível a um servidor.
As informações no ViewState são armazenadas para o cliente apenas como um valor criptografado nos campos ocultos do navegador. Isso torna os dados não seguros e possivelmente sujeitos a hackers. Durante as postagens, o ViewState rastreia as alterações em um site específico.

O ViewState também mantém o valor do controle para a página específica. Isso significa que os dados de uma página não estão e não podem estar disponíveis, acessados ​​ou replicados em outra página. O ViewState é mantido no nível da página ou na página ativa atual. Ele não tem ponto de validade e pode ser ativado ou desativado no ViewState para controles específicos.

O ViewState pode ser visto na visualização do código fonte da página, que dura até a página ser fechada. O ViewState é usado principalmente para armazenar uma pequena quantidade de dados (geralmente uma string e outros dados serializados) na página atual. Além disso, o ViewState consome mais largura de banda em comparação à sessão, mas menos memória e espaço na memória. O ViewState não envolve muita memória, pois todos os dados são perdidos no momento em que a página é fechada.

Enquanto isso, a sessão é mais comumente usada para páginas da Web e afeta não apenas a página, mas todo o aplicativo e a duração inteira de um usuário usando esse navegador ou página em particular. A sessão é válida para qualquer tipo de objeto e é armazenada na memória do servidor do navegador. Os dados que ele retém são os dados do usuário do computador ou, em outras palavras, dados específicos do usuário. Os dados estão disponíveis até o usuário fechar o aplicativo do navegador ou a sessão expirar por conta própria.

Ao contrário do ViewState, os dados na sessão podem ser acessados ​​ou replicados em outra janela ou página dentro da sessão. As sessões também não têm a capacidade de desabilitar ou habilitar controles específicos. A sessão também envolve diferentes tipos de dados a serem armazenados em seu receptáculo de memória. A sessão também possui uma memória maior em comparação com o ViewState, pois usa a memória do servidor. A desvantagem disso é que a sessão tem um tempo de expiração e a quantidade de dados armazenados na memória do servidor pode afetar o tempo de carregamento do servidor.

Resumo:

1. Além do ViewState e da sessão, outras soluções ASP.NET incluem variáveis ​​de aplicativo, cache e cookies. 2.ViewState e session podem ser executados e estar acessíveis em um ambiente de servidor.
3.ViewState é usado no lado do cliente enquanto a sessão é usada no lado do servidor. Estar do lado do cliente faz com que o ViewState não tenha validade. O oposto (expirar e estar no lado do servidor) é para a sessão.
4.ViewState pode conter apenas uma seqüência de caracteres ou dados serializáveis, enquanto a sessão pode conter um grande número de dados. Isso torna a quantidade de dados no ViewState muito menor em comparação com a sessão.
5.A sessão pode replicar ou acessar dados para uma nova página ou janela enquanto o ViewState não é capaz desse recurso.
6.Session armazena seus dados na memória do servidor enquanto o ViewState oculta seus dados nos campos ocultos de um navegador como dados criptografados. 7.Como a memória do servidor contém diferentes tipos de dados, uma grande quantidade de dados armazenados pode afetar a carga do servidor.