A mensagem de erro "Viewstate é inválido para esta página" não fornece informações suficientes para solucionar o problema

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 831150
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
Para uma versão deste artigo do Microsoft .NET Framework 1.0, consulte 832183.
Sumário
Como estado de exibição é armazenado em um campo oculto em uma página da Web, é vulnerável à violação de dados estão sendo transferidos entre o cliente e o servidor. Para ajudar a tornar o estado de exibição mais seguro, o ASP.NET valida estado de exibição para verificar que ele veio a página correta.

Se o ASP.NET não é possível validar o estado de exibição, o ASP.NET retornará uma mensagem para o navegador cliente informando que "viewstate é inválido para esta página e pode estar corrompido." No entanto, a mensagem não descreve por que o estado de exibição não é válido.

Para obter mais informações sobre estado de exibição, consulte "Description of View State" na seção "Mais informações" deste artigo.
Resolução
Embora este artigo oferece um hotfix, este hotfix não corrigir erros de View State. Esse hotfix fornece informações adicionais para ajudar a solucionar erros de estado de exibição.

importante Esse hotfix contém dois tipos de pacotes: um pacote do Microsoft Windows Installer e um pacote de Gerenciador de componentes opcionais (OCM). Se você usar o Microsoft Windows Server 2003, você deve especificar que você precisa de atualização Windows Server 2003 (OCM) porque a proteção de arquivo do Windows Server 2003 monitora os arquivos do Microsoft .NET Framework 1.1. Se você usar um sistema operacional diferente do Windows Server 2003, você deve usar o pacote do Windows Installer.

Informações sobre o hotfix

Um hotfix suportado agora está disponível da Microsoft, mas destina-se somente a corrigir o problema descrito neste artigo. Aplique-o somente nos sistemas que apresentarem esse problema específico. Esta correcção poderá submetida a testes adicionais. Portanto, se você não tiver sido gravemente afetado por esse problema, recomendamos que você aguarde o próximo service pack do Microsoft .NET Framework 1.1 que contém esse hotfix.

Para resolver esse problema imediatamente, contate o Atendimento Microsoft para obter o hotfix. Para obter uma lista completa de telefones do Atendimento Microsoft e informações sobre os custos de suporte da, visite o seguinte site: Observação Em alguns casos, as taxas cobradas pelas ligações para chamadas de suporte podem ser canceladas se um profissional de suporte da Microsoft determinar que uma atualização específica resolverá o problema. Os custos normais de suporte serão aplicados a questões e problemas que não se qualificam à atualização específica em questão de suporte adicionais.

Informações sobre o arquivo de hotfix

A versão em inglês deste hotfix apresenta os atributos de arquivo (ou posteriores) listados na tabela a seguir. As datas e horas desses arquivos são listadas na acordo hora universal coordenada (UTC). Quando você exibe as informações do arquivo, ele é convertido para a hora local. Para encontrar a diferença entre o UTC e a hora local, use a guia fuso horário na ferramenta Data e hora no painel de controle.
   Date         Time   Version       Size       File name   ---------------------------------------------------------------------------------------------   13-Nov-2003  03:16  1.1.4322.969    258,048  Aspnet_isapi.dll   13-Nov-2003  03:16  1.1.4322.969     20,480  Aspnet_regiis.exe   13-Nov-2003  03:16  1.1.4322.969     32,768  Aspnet_state.exe   13-Nov-2003  03:16  1.1.4322.969     32,768  Aspnet_wp.exe   16-May-2003  00:49                   33,522  Installpersistsqlstate.sql   16-May-2003  00:49                   34,150  Installsqlstate.sql   13-Nov-2003  03:06  1.1.4322.969     94,208  Perfcounter.dll   13-Nov-2003  17:38  1.1.4322.969  1,220,608  System.dll   13-Nov-2003  17:38  1.1.4322.969    241,664  System.messaging.dll   13-Nov-2003  17:38  1.1.4322.969    323,584  System.runtime.remoting.dll   13-Nov-2003  17:38  1.1.4322.969    131,072  System.runtime.serialization.formatters.soap.dll   13-Nov-2003  17:39  1.1.4322.969  1,257,472  System.web.dll   13-Nov-2003  17:38  1.1.4322.969    819,200  System.web.mobile.dll   13-Nov-2003  17:38  1.1.4322.969    569,344  System.web.services.dll   13-Nov-2003  17:39  1.1.4322.969  1,339,392  System.xml.dll   13-Nov-2003  03:11                   14,472  Webuivalidation.js

Detalhes do hotfix

Esse hotfix faz com que as mensagens de erro de View State contêm mais informações. Após aplicar esse hotfix, o título de mensagem de erro estado de exibição se torna "Não é possível validar dados." Novo formato de mensagem de erro não descreve exatamente o que o problema é. No entanto, essa mensagem de erro fornece mais informações que o formato de mensagem de erro anterior.

Observação Para obter mais informações sobre o status de seu estado de exibição, você poderá executar o estado de exibição que aparece na mensagem de erro por meio de um decodificador de estado de exibição de terceiros.

Esse hotfix define a propriedade InnerException no objeto HttpException para que você pode usar o método Application_Error façam a exceção subjacente. Certifique-se que recursivamente você registrar todos os erros de propriedade InnerException .

Esse hotfix adiciona as informações a seguir a mensagem de erro para erros de estado de exibição:
  • Endereço IP
  • Número de porta
  • Agente do usuário
  • Valor do estado do modo de exibição
  • Referer HTTP
  • Caminho da página solicitada
Se o erro ocorrer enquanto o ASP.NET está verificando o código de autenticação de View State mensagem (MAC), esse hotfix adiciona uma mensagem no rastreamento de pilha que lhe permite verificar as configurações de <machinekey>. A mensagem de erro também informa que os dados de estado de exibição podem ser lançados apenas volta para a mesma página.

Se o erro ocorrer durante a desserialização, esse hotfix adiciona o token LosFormater, o token _deserializationData e a posição onde o erro ocorreu para a mensagem de erro.

Na maioria dos casos, se os dados de estado de exibição foi truncados, o recurso de View State terá um erro FormatException no método FromBase64String e você receber a seguinte mensagem de erro:
Comprimento inválido para uma matriz de caracteres base-64
No entanto, se os dados de estado de exibição foi truncados e é ainda codificado na base64, ocorrerá um erro posteriormente no código.

Mensagem de erro estado de exibição antes de aplicar esse hotfix

Erro do servidor em ' / ViewState ' aplicativo.
--------------------------------------------------------------------------------
O viewstate é inválido para esta página e pode estar corrompido.
Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da web. Examine o rastreamento da pilha para obter mais informações sobre o erro e onde foi originado no código.

Detalhes da exceção: System.Web.HttpException: O viewstate é inválido para esta página e pode estar corrompido.

Erro de origem:

Uma exceção não tratada foi gerada durante a execução de solicitação da web atual. Informações sobre a origem e o local da exceção podem ser identificadas usando o rastreamento de pilha de exceção abaixo.

Rastreamento de pilha:

[HttpException (0 x 80004005): O viewstate é inválido para esta página e pode estar corrompido.]

System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +151
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +423

Mensagem de erro estado de exibição após aplicar esse hotfix

Erro do servidor em ' / ViewState ' aplicativo.
--------------------------------------------------------------------------------
Não é possível validar os dados.
Descrição: Ocorreu uma exceção não tratada durante a execução da atual solicitação da web. Examine o rastreamento da pilha para obter mais informações sobre o erro e onde foi originado no código.

Detalhes da exceção: System.Web.HttpException: não é possível validar os dados.

Erro de origem:

Uma exceção não tratada foi gerada durante a execução de solicitação da web atual. Informações sobre a origem e o local da exceção podem ser identificadas usando o rastreamento de pilha de exceção abaixo.

Rastreamento de pilha:

[HttpException (0 x 80004005): não é possível validar os dados.]

System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, String strModifier) +866
System.Web.UI.LosFormatter.Deserialize(String input) +44
[HttpException (0 x 80004005): autenticação de viewstate falhou. 1) Se for um cluster, edite configuração de <machinekey> para que todos os servidores de usarem a mesma validationKey e o algoritmo de validação. AutoGenerate não pode ser usado em um cluster. ViewState 2) pode ser lançado apenas a volta para a mesma página. 3) O viewstate para esta página pode estar corrompido.]
System.Web.UI.LosFormatter.Deserialize(String input) +102
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101
[HttpException (0 x 80004005): O viewstate é inválido para esta página e pode estar corrompido.
Cliente IP: 127.0.0.1
Porta: 1095
Agente do usuário: Mozilla/4.0 (compatível; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
ViewState: dDwzNDM3NTkwMzg7dDw7bDxpPDEPGk8MT47PjtsPHQ8QDA8cDxwPGw8RGF0YUt
HTTP Referer: http://localhost/Connect2Access/WebForm1.aspx
Caminho: /connect2access/webform1.aspx.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +435
System.Web.UI.Page.LoadPageViewState() +16
System.Web.UI.Page.ProcessRequestMain() +439

Observação O valor ViewState nessa mensagem de erro exemplo foi truncado para caber o contexto de neste artigo.
Situação
A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na seção "Aplica-se a".
Mais Informações
Para obter informações adicionais sobre a terminologia que é usada para descrever as atualizações de produtos da Microsoft, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
824684Descrição da terminologia padrão que é usada para descrever as atualizações de software

Descrição do estado de exibição

O ASP é sem monitoração de estado . Sempre que um aplicativo faz um round trip do servidor para o cliente, os dados não é intrinsecamente salvo. Sempre que uma página da Web é remetida para o servidor, a página é recriada. Esse comportamento faz com que todas as informações associadas com a página e com os controles na página, sejam perdidas para cada viagem. Por exemplo, se um informações de tipos de usuário em uma caixa de texto, essas informações são perdidas em round trip partir do navegador ou do dispositivo cliente para o servidor.

O ASP.NET também é sem monitoração de estado. No entanto, o ASP.NET possui um recurso novo, View State, que você pode usar para preservar os dados entre round trips para e do servidor. Estado de exibição automaticamente preserva valores de propriedade da página e os valores de todos os controles na página, entre viagens de ida e volta. Estado de exibição é mantido como um campo oculto na página.

Você pode usar o estado de exibição para armazenar seus próprios valores específicos de páginas em viagens de ida e volta quando a página envia de volta a mesma. Por exemplo, se seu aplicativo mantém informações específicas de usuário, você pode armazenar essas informações usuário-específicas no estado de exibição. Informações específicas de usuário são informações que é usado na página mas que não é necessariamente uma parte de qualquer controle.

back to the "Summary" section

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 831150 - Última Revisão: 12/08/2015 05:15:18 - Revisão: 4.2

Microsoft .NET Framework 1.1, Microsoft Common Language Runtime (included with the .NET Framework 1.1), Microsoft Visual Studio .NET 2003 Enterprise Architect, Microsoft Visual Studio .NET 2003 Enterprise Developer, Microsoft Visual Studio .NET 2003 Academic Edition

  • kbnosurvey kbarchive kbmt kbqfe kbhotfixserver kbnetframe110sp1fix kbnetframe110presp1fix kbfix kbbug kbwindbg kbtshoot kbinfo kbcode KB831150 KbMtpt
Comentários