ERRO: ViewState Inválido
Índice
Problema
Ao utilizar a mesma página por mais de 24 horas sem atualiza-la, o sistema exibe a mensagem “Esta página ficou inativa por muito tempo ou houve alguma mudança no servidor. Por favor, recarregue essa página para continuar.”.
Causa
O sistema utiliza uma lógica otimizada de carregamento do ViewState. As informações são gravadas em arquivos físicos no servidor, ao invés de serem trafegadas entre Cliente x Servidor a cada PostBack. A exclusão destes arquivos é realizada por uma tarefa executada em segundo plano que ocorre de hora em hora, e exclui os arquivos que não horam alterados a mais de 24 horas.
Essa tarefa utiliza como referência a propriedade LastWriteTimeUtc
do arquivo. Essa propriedade deveria possuir a data e hora da última alteração do arquivo, porém a atualização dessa propriedade foi desabilitada a partir do Windows Vista por motivos de Performance.
Solução
Para solucionar este problema é necessário habilitar a atualização da propriedade LastWriteTimeUtc
no Registro do Windows.
Siga os passos abaixo para habilitar:
- Acesse o Registro do Windows (Menu Iniciar → Executar → regedit).
- Localiza a chave
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
. - Informe 0 no valor do parâmetro NtfsDisableLastAccessUpdate.
- Reinicie o Windows.
ou
- Execute o comando
fsutil behavior set disablelastaccess 0
com privilégios de administrador.
OBS.: É recomendável que essa alteração seja desfeita se resultar em redução de performance no Servidor.