CORRECÇÃO: Um InvalidViewState não excepção conforme esperado quando utiliza o tipo de encriptação Triple DES para validar a propriedade System.Web.UI.Control.ViewState no .NET Framework 2.0

Traduções de Artigos Traduções de Artigos
Artigo: 928399 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Quando utiliza o tipo de encriptação DES triplo (3DES) para validar a propriedade System.Web.UI.Control.ViewState no Microsoft .NET Framework 2.0 e definir a propriedade System.Web.UI.Page.ViewStateUserKey para um valor incorrecto, não é accionada uma excepção InvalidViewState conforme esperado.

Resolução

Informações sobre a correcção

Uma correcção suportada está agora disponível da Microsoft. Contudo, destina-se a corrigir o problema descrito neste artigo. Aplique-a apenas em sistemas que tenham este problema específico.

Para resolver este problema, contacte o suporte técnico da Microsoft para obter a correcção. Para obter uma lista completa dos números de telefone de 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.

Pré-requisitos

Tem de ter o Framework 2.0 instalado para aplicar esta correcção.

Requisito de reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações sobre substituição de correcções

Esta correcção não substitui quaisquer outras correcções.

Informações do ficheiro

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 no item data e hora no painel de controlo.
Microsoft .NET framework 2.0, x 86 versões
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Aspnet.WP.exe2.0.50727.24429,96815 De Novembro de 200619: 06x 86
System.Web.dll2.0.50727.2445,029,88815 De Novembro de 200619: 06x 86
Webengine.dll2.0.50727.244300,03215 De Novembro de 200619: 06x 86
Microsoft .NET framework 2.0, versões baseadas em 64 x
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Aspnet.WP.exe2.0.50727.24441,74415 De Novembro de 200614: 33x 64
System.Web.dll2.0.50727.2444,968,44815 De Novembro de 200614: 33x 64
Webengine.dll2.0.50727.244540,67215 De Novembro de 200611: 12x 64
Microsoft .NET framework 2.0, versões baseadas em Itanium
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
System.data.dll2.0.50727.2443,103,23215 De Novembro de 200615: 28IA-64

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

Depois de aplicar esta correcção, poderá continuar a receber a excepção mencionada na secção ? Sintomas ?. Este problema ocorre caso se verifiquem as seguintes condições:
  • Tem duas páginas Web ASP.NET 2.0. Suponha que os nomes das duas páginas Web ASP.NET 2.0 são Page1.aspx e Page2.aspx.
  • Em Page1.aspx, defina o valor do atributo ViewStateEncryptionMode para sempre .
  • Em Page1.aspx, utilize JavaScript para definir a propriedade form.action para referência Page2.aspx e, em seguida, para chamar a função form.submit .
  • Em Page2.aspx, defina o valor do atributo ViewStateEncryptionMode para nunca .
  • Quando executar as páginas, registar a propriedade de ViewState encriptada Page2.aspx e Page2.aspx não espera a propriedade de ViewState encriptada.
Para resolver este problema, utilize um dos seguintes métodos.

Método 1

Certifique-se que o atributo ViewStateEncryptionMode é síncrono em ambas as duas páginas Web ASP.NET 2.0.

Método 2

Utilize JavaScript para adicionar lógica para limpar o campo de formulário __ViewState quando altera a propriedade form.action . Por exemplo, utilize o seguinte código adicionem lógica.
document.getElementById("__ViewState").value = "";

Método 3

Utilizar um controlo de botão ASP.NET e execute a operação de reposição, definindo a propriedade PostBackUrl do controlo de botão. Esta operação não só define a propriedade form.action em JavaScript mas também define um campo de formulário __PREVIOUSPAGE . Por conseguinte, a propriedade de ViewState é preenchidas de durante a operação de reposição novo. Isto evita o problema.

Para obter mais informações sobre a terminologia de actualização de software, 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
Os produtos de outros fabricantes explicado neste artigo são fabricados por empresas independentes da Microsoft. A Microsoft não oferece nenhuma garantia, expressa ou implícita, sobre o desempenho ou fiabilidade destes produtos.

Propriedades

Artigo: 928399 - Última revisão: 3 de dezembro de 2007 - Revisão: 2.2
A informação contida neste artigo aplica-se a:
  • Microsoft .NET Framework 2.0
Palavras-chave: 
kbmt kbhotfixserver kbqfe kbpubtypekc KB928399 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: 928399

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