Mudanças entre as edições de "ERRO: ViewState Inválido"
(Criou página com '== Problema == Ao utilizar a mesma página por mais de 24h sem atualiza-la, o sistema exibe a mensagem <cite>“Esta página ficou inativa por muito tempo ou houve alguma muda...') |
(→Solução) |
||
(4 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 1: | Linha 1: | ||
== Problema == | == Problema == | ||
− | Ao utilizar a mesma página por mais de | + | Ao utilizar a mesma página por mais de 24 horas sem atualiza-la, o sistema exibe a mensagem <cite>“Esta página ficou inativa por muito tempo ou houve alguma mudança no servidor. Por favor, recarregue essa página para continuar.”</cite>. |
[[Arquivo:Error Invalid ViewState.png|none|ViewState Inválido]] | [[Arquivo:Error Invalid ViewState.png|none|ViewState Inválido]] | ||
== Causa == | == Causa == | ||
− | O sistema utiliza uma lógica otimizada de carregamento do [https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms178198(v=vs.85) ViewState]. As informações são gravadas em arquivos | + | O sistema utiliza uma lógica otimizada de carregamento do [https://docs.microsoft.com/previous-versions/dotnet/netframework-3.0/ms178198(v=vs.85) 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 <code> | + | Essa tarefa utiliza como referência a propriedade <code>LastWriteTimeUtc</code> 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 == | == Solução == | ||
− | Para solucionar este problema é necessário habilitar a atualização da propriedade <code> | + | Para solucionar este problema é necessário habilitar a atualização da propriedade <code>LastWriteTimeUtc</code> no Registro do Windows. |
Siga os passos abaixo para habilitar: | Siga os passos abaixo para habilitar: | ||
# Acesse o Registro do Windows (Menu Iniciar → Executar → regedit). | # Acesse o Registro do Windows (Menu Iniciar → Executar → regedit). | ||
− | # Localiza a chave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem | + | # Localiza a chave <code>HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem</code>. |
− | # Informe '''0''' no valor do parâmetro | + | # Informe '''0''' no valor do parâmetro [https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc758569(v=ws.10) NtfsDisableLastAccessUpdate]. |
# Reinicie o Windows. | # Reinicie o Windows. | ||
Linha 21: | Linha 21: | ||
: Execute o comando <code>fsutil behavior set disablelastaccess 0</code> com privilégios de administrador. | : Execute o comando <code>fsutil behavior set disablelastaccess 0</code> com privilégios de administrador. | ||
+ | |||
+ | '''OBS.:''' <span style="color:red">É recomendável que essa alteração seja desfeita se resultar em redução de performance no Servidor.</span> | ||
+ | |||
+ | == Ver Também == | ||
+ | * [https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/fsutil-behavior Fsutil] | ||
+ | * [https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2003/cc758569(v=ws.10) NtfsDisableLastAccessUpdate] |
Edição atual tal como às 12h46min de 2 de janeiro de 2019
Í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.