A mensagem de erro "O estado de visualização é inválido para esta página" não fornece informações suficientes para resolver o problema

Traduções de Artigos Traduções de Artigos
Artigo: 832183 - Ver produtos para os quais este artigo se aplica.
Para obter uma Microsoft .NET Framework 1.1 versão deste artigo, consulte 831150.


importante Não é instalar esta correcção num computador que esteja num ambiente de farm de servidores Web ou num ambiente em cluster, estiver a instalar esta correcção em todos os computadores no ambiente ou se tiver instalado correcção 323744 em todos os outros computadores no ambiente.

Para mais informações, consulte "Description of the View State MAC feature" na secção "Mais informação".
Expandir tudo | Reduzir tudo

Nesta página

Sumário

Como dados de estado da vista são armazenados num campo oculto numa página Web, é vulnerável a manipulação quando os dados são transferidos entre o cliente e o servidor. Para ajudar a tornar a funcionalidade de vista de estado mais seguro, Microsoft ASP.NET valida os dados de estado da vista para verificar que veio a página correcta.

Se o ASP.NET não é possível validar os dados de estado da vista, o ASP.NET devolverá uma mensagem ao navegador do cliente indicar que "o estado de visualização é inválido para esta página e pode estar danificado. No entanto, a mensagem não descreve a razão pela qual os dados de estado da vista não são válidos.

Para mais informações sobre a funcionalidade de vista de estado, consulte "" em "Mais informação" secção.

Resolução

Apesar deste artigo fornece uma correcção, Esta correcção não corrige erros de estado da vista de dados . Esta correcção apenas fornece informações adicionais para o ajudar a resolver erros de dados de estado da vista.

Agora é disponibilizada pela Microsoft uma correcção suportada, mas destina-se apenas a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pelo próximo service pack do Microsoft .NET Framework 1.0 que contenha esta correcção.

Para resolver este problema imediatamente, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa de números de telefone do suporte técnico da Microsoft e informações sobre os custos de suporte, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota Em casos especiais, os custos normalmente inerentes às chamadas de suporte poderão ser anulados, se um técnico de suporte da Microsoft determinar que uma actualização específica resolverá o problema. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem na atualização específica em questão.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário na ferramenta Data e hora no painel de controlo.
   Date         Time   Version       Size       File name
   --------------------------------------------------------------
   11-Dec-2003  07:13  1.0.3705.478    200,704  Aspnet_isapi.dll
   11-Dec-2003  07:06                    4,169  Aspnet_perf.h
   11-Dec-2003  07:14                  513,302  Aspnet_perf.ini
   11-Dec-2003  07:14                  510,714  Aspnet_perf2.ini
   11-Dec-2003  07:14  1.0.3705.478     24,576  Aspnet_regiis.exe
   11-Dec-2003  07:14  1.0.3705.478     28,672  Aspnet_wp.exe
   11-Dec-2003  06:27  1.0.3705.478     69,632  Corperfmonext.dll
   17-Jun-2003  21:43                   16,597  Installpersistsqlstate.sql
   17-Jun-2003  21:43                   17,331  Installsqlstate.sql
   09-Sep-2003  00:28                   17,807  Installsqlstatetemplate.sql
   11-Dec-2003  06:25  1.0.3705.478    303,104  Mscorjit.dll
   11-Dec-2003  23:48  1.0.3705.478  1,953,792  Mscorlib.dll
   11-Dec-2003  06:18                   10,284  Mscorlib.ldo
   11-Dec-2003  06:26  1.0.3705.478  2,273,280  Mscorsvr.dll
   11-Dec-2003  06:26  1.0.3705.478  2,269,184  Mscorwks.dll
   11-Dec-2003  07:10  1.0.3705.478     20,480  Perfcounter.dll
   23-Aug-2002  02:23                       15  Smartnav.htm
   30-Jul-2003  00:04                    8,728  Smartnav.js
   11-Dec-2003  23:48  1.0.3705.478  1,179,648  System.data.dll
   11-Dec-2003  23:48  1.0.3705.478  1,695,744  System.design.dll
   11-Dec-2003  23:48  1.0.3705.478  1,175,552  System.dll
   11-Dec-2003  23:48  1.0.3705.478    241,664  System.messaging.dll
   11-Dec-2003  23:48  1.0.3705.478    311,296  System.runtime.remoting.dll
   11-Dec-2003  23:49  1.0.3705.478    131,072  System.runtime.serialization.formatters.soap.dll
   11-Dec-2003  23:48  1.0.3705.478  1,200,128  System.web.dll
   11-Dec-2003  23:48  1.0.3705.478    507,904  System.web.services.dll
   11-Dec-2003  23:50  1.0.3705.478  1,994,752  System.windows.forms.dll
   11-Dec-2003  07:20                   16,632  System.windows.forms.ldo
   11-Dec-2003  07:15  1.0.3705.478     57,344  System.windows.forms.tlb
   11-Dec-2003  23:50  1.0.3705.478  1,302,528  System.xml.dll
   11-Dec-2003  23:47  1.0.3705.478     32,768  Tlbimp.exe
   17-Jun-2003  21:43                    1,419  Uninstallpersistsqlstate.sql
   09-Sep-2003  00:28                    2,119  Uninstallsqlstatetemplate.sql
   11-Dec-2003  23:47  1.0.3705.478     65,536  Wsdl.exe

Detalhes de correcção

Esta correcção faz com que as mensagens de erro Ver estado contêm mais informações. Depois de aplicar esta correcção, o título Ver estado da mensagem de erro torna-se "Não é possível validar dados." Apesar do novo formato de mensagem de erro não descreve exactamente o que o problema é, fornece informações mais do que o formato de mensagem anterior.

Nota Para obter mais informações sobre o estado o estado de vista do dados, pode executar as informações de estado da vista que aparece na mensagem de erro através de um descodificador de ver estado de outros fabricantes.

Esta correcção define a propriedade InnerException no objecto HttpException para que possa utilizar o método Application_Error para iniciar a excepção subjacente. Certifique-se que recursivamente a iniciar todos os erros de propriedade InnerException .

Esta correcção adiciona as seguintes informações específicas sobre o cliente a mensagem de erro para erros de estado da vista:
  • Endereço IP
  • Número da porta
  • Agente do utilizador
  • Valor do estado do Vista
  • Referenciador HTTP
  • Caminho da página pedida
Se o erro ocorre enquanto que o ASP.NET está a verificar o estado da vista de código de autenticação de mensagens (MAC), esta correcção adiciona uma mensagem no rastreio de pilha que lhe pede para verificar as definições de <machinekey>. A mensagem de erro também notas que os dados de estado da vista só podem ser registados para a mesma página.

Se o erro ocorrer durante a anulação da serialização, esta correcção adiciona o token LosFormater token _deserializationData e a posição onde ocorreu o erro à mensagem de erro.

Na maior parte casos, se o estado da vista de dados foram truncados, o estado da vista funcionalidade irá ocorrer um erro de FormatException no método FromBase64String e receberá a seguinte mensagem de erro:
Comprimento inválido para uma matriz de caracteres base-64
No entanto, se os dados de estado da vista foi truncados e é ainda codificado em base64, ocorrerá o erro mais tarde no código.

Mensagem de erro antes de instalar esta correcção no estado da vista

Erro de servidor de ' / ViewState ' aplicações.
--------------------------------------------------------------------------------
O estado de visualização é inválido para esta página e pode estar danificado.
Descrição: Ocorreu uma excepção não processada durante a execução da solicitação da web actual. Reveja o rastreio da pilha para mais informações sobre o erro e onde tem origem no código.

Detalhes da excepção: System.Web.HttpException: O estado de visualização é inválido para esta página e pode estar danificado.

Origem de erro:

Foi gerada uma excepção não processada durante a execução da solicitação da web actual. Informações sobre a origem e a localização da excepção podem ser identificadas utilizando o rastreio de pilha de excepção abaixo.

Rastreio da pilha:

[HttpException (0 x 80004005): O estado de visualização é inválido para esta página e pode estar danificado.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +151
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +423

Estado da vista de mensagem de erro depois de instalar esta correcção

Erro de servidor de ' / ViewState ' aplicações.
--------------------------------------------------------------------------------

Não é possível validar os dados.
Descrição: Ocorreu uma excepção não processada durante a execução da solicitação da web actual. Reveja o rastreio da pilha para mais informações sobre o erro e onde tem origem no código.

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

Erro de origem:

Foi gerada uma excepção não processada durante a execução da solicitação da web actual. Informações sobre a origem e a localização da excepção podem ser identificadas utilizando o rastreio de pilha de excepção abaixo.

Rastreio da 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 (entrada de cadeia) +44

[HttpException (0 x 80004005): autenticação de viewstate falhou. 1) Se este for um cluster, edite <machinekey> configuração para que todos os servidores de utilizar a mesma validationKey e o algoritmo de validação. Não é possível utilizar AutoGenerate num cluster. Só pode ser registado 2) o estado de visualização para a mesma página. 3) O estado de visualização para esta página poderá estar danificado.]
System.Web.UI.LosFormatter.Deserialize (entrada de cadeia) +102
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0 x 80004005): O estado de visualização é inválido para esta página e pode estar danificado.
Cliente IP: 127.0.0.1
Porta: 1095
Agente do utilizador: Mozilla/4.0 (compatível; MSIE 6.0; Windows NT 5.1 .NET CLR 1.0.3705)
ViewState: dDwzNDM3NTkwMzg7dDw7bDxpPDEPGk8MT47PjtsPHQ8QDA8cDxwPGw8RGF0YUt
Referenciador HTTP: 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
Nota O valor de ViewState nesta mensagem de erro de exemplo foi truncado para ajustar o contexto deste artigo.

Ponto Da Situação

A Microsoft confirmou que este é um problema nos produtos da Microsoft listados na secção "Aplica-se a".

Mais Informação

Para obter mais informações sobre a terminologia utilizada para descrever actualizações de produtos Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Descrição da funcionalidade Ver estado

O ASP é sem estado . Sempre que uma aplicação efectua uma viagem round do servidor para o cliente, os dados não é intrinsecamente guardados. Sempre que uma página Web é registada no servidor, a página é recriada. Este comportamento faz com que todas as informações associadas com a página e com os controlos na página, sejam perdidas para cada viagem de ida e volta. Por exemplo, se informações de tipos de utilizador numa caixa de texto, as informações de que são perdidas em viagem round a partir do browser ou o dispositivo de cliente ao servidor.

O ASP.NET também é sem estado. No entanto, o ASP.NET tem uma nova funcionalidade, o estado da vista, que pode utilizar para manter dados entre o número de visitas de e para o servidor. Estado da vista preserva automaticamente valores de propriedade da página e os valores de todos os controlos na página, entre o número de visitas. Os dados de estado da vista são mantidos como um campo oculto na página.

Pode utilizar a funcionalidade de vista de estado para armazenar os seus próprios valores específicos de páginas em número de visitas quando a página regista a próprio. Por exemplo, se a aplicação é manter as informações específicas do utilizador, pode utilizar a funcionalidade de vista de estado para guardarem estas informações específicas do utilizador. Informações específicas do utilizador são informações que é utilizada na página mas que não é necessariamente uma parte de qualquer controlo.

back to the "Summary" section

Descrição da funcionalidade Ver estado do MAC

O código de autenticação de mensagens de estado da vista (MAC) é um código de autenticação (também conhecido como uma Soma de verificação ) que é criado quando aplica um esquema de autenticação, juntamente com uma chave secreta, a uma mensagem. Um MAC é calculado e verificado utilizando a mesma chave. Por conseguinte, um MAC só pode ser verificado pelo destinatário pretendido. MACs podem ser criados utilizando vários algoritmos, como, por exemplo, o segura Hash Algorithm (SHA), o Message Digest 5 (MD5) e técnicas criptográficas algoritmo DES (Data Encryption Standard) ou algoritmo.

A funcionalidade Ver estado MAC destina-se para impedir que um cliente enviar um pedido que contém dados de estado da vista maliciosos. Por predefinição, a funcionalidade Ver estado MAC está activada, utilizando o enableViewStateMac = "true" sinalizador no ficheiro Machine.config.

A forma mais simples para determinar se o problema que está a ocorrer está relacionado com o MAC é desactivar a funcionalidade. Para o fazer, defina o sinalizador enableViewStateMac como false . Se já não ocorrerem erros de estado da vista, o problema relacionado com o Mac.

O MAC do estado de ver é aplicado diferente no Microsoft .NET Framework 1.0 antes de correcção 323744 está instalada. A correcção que este artigo descreve (correcção 832183) inclui correcção 323744. Se não instalar correcção 323744 - sozinho ou com a correcção 832183 - em todos os outros computadores no ambiente também, os computadores que não tem a correcção 323744 instalado ocorrerá erros de estado da vista de dados.

Para obter mais informações, clique números de artigo que se seguem para visualizar os artigos na base de dados de conhecimento da Microsoft:
323744CORRECÇÃO: Mensagem de erro de "O estado da vista é inválido para esta página e pode estar danificado" no ASP.NET
328546INFO: Pacote de correcções do ASP.NET de .NET Framework pós-Service Pack 2

Propriedades

Artigo: 832183 - Última revisão: 7 de abril de 2006 - Revisão: 2.3
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 1.0
  • Microsoft Visual Studio .NET 2002 Professional Edition
  • Microsoft Visual Studio .NET (2002), Enterprise Architect Edition SP1
  • Microsoft Visual Studio .NET 2002 Enterprise Developer
  • Microsoft Common Language Runtime (included with the .NET Framework) 1.0
  • Microsoft ASP.NET 1.0
Palavras-chave: 
kbmt kbqfe kbhotfixserver kbvs2002sp1sweep kbstate kbnetframe100presp3fix kbfix kbbug KB832183 KbMtpt
Tradução automática
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 revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática? erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 832183

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com