Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

ViewStateException Classe

Representa a exceção que é acionada quando o estado de Exibir não pode ser carregado ou validado. Essa classe não pode ser herdada.

Namespace:  System.Web.UI
Assembly:  System.Web (em System.Web. dll)

[SerializableAttribute]
[AspNetHostingPermissionAttribute(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal)]
public sealed class ViewStateException : Exception, ISerializable

If an exception occurs when the page loads the view-state information, the page creates a ViewStateException object and passes it as an inner exception within an HttpException exception.The HttpException exception is re-thrown to be handled by the application.

The ViewStateException class stores information about the exception in the Message property.If the request has permission to access the ServerVariables property, then the Message property contains the values returned from the RemoteAddress, RemotePort, UserAgent, PersistedState, Referer, and Path properties; otherwise, the Message property contains a generic view-state error message.

Uma exceção modo de Exibir-estado pode ser o resultado de um erro de validação códigos de autenticação de mensagem (MAC).If the page attribute enableViewStateMac is set to true, view-state information is encoded with a MAC identifier.Quando a Exibir-informações do estado é lançada Voltar para o servidor, a página verifica a codificação para garantir que ele não foi alterado, o usuário.If the page cannot validate the MAC encoding on the view-state information, it will throw an HttpException exception with the ViewStateException object as an inner exception.

Para validação MAC seja bem-sucedida, as informações de estado modo de Exibir devem ser hash pela mesma chave quando ele é enviado e recebido.Em uma Web farm, a chave da máquina em cada servidor deve ser definida como uma chave comum.

The following code example demonstrates how to implement a method that deserializes a base64-encoded string and returns an ICollection collection of property settings.The Deserialize method can throw an HttpException exception that contains a ViewStateException object as an inner exception.The example shows how you can catch an HttpException exception and retrieve the properties from the ViewStateException object.

 ICollection LoadControlProperties(string serializedProperties)
{

    ICollection controlProperties = ;

    
    ObjectStateFormatter formatter =  ObjectStateFormatter();

    
    {
        
        controlProperties = (ArrayList)formatter.Deserialize(serializedProperties);
    }
     (HttpException e)
    {
        ViewStateException vse = (ViewStateException)e.InnerException;
        String logMessage;

        logMessage =  + vse.Path + Environment.NewLine;
        logMessage +=  + vse.PersistedState + Environment.NewLine;
        logMessage +=  + vse.Referer + Environment.NewLine;
        logMessage +=  + vse.UserAgent + Environment.NewLine;

        LogEvent(logMessage);

         (vse.IsConnected)
        {
            HttpContext.Current.Response.Redirect();
        }
        
        {
             e;
        }
    }
     controlProperties;
}


  • AspNetHostingPermission 

    Para operando em um ambiente hospedado.Exigem valor: LinkDemand; Permission value: Minimal.

System.Exception
  System.Object
    System.Web.UI.ViewStateException

Quaisquer membros públicos estático (compartilhados na Visual Basic) desse tipo são Thread seguro. Não há garantia de que qualquer membro de instância seja isento de segmentos.
Mostrar: