Compartilhar via


ViewStateException Classe

Definição

Representa a exceção lançada quando o estado de exibição não pode ser carregado ou validado. Essa classe não pode ser herdada.

public ref class ViewStateException sealed : Exception
[System.Serializable]
public sealed class ViewStateException : Exception
[<System.Serializable>]
type ViewStateException = class
    inherit Exception
    interface ISerializable
Public NotInheritable Class ViewStateException
Inherits Exception
Herança
ViewStateException
Atributos
Implementações

Exemplos

O exemplo de código a seguir demonstra como implementar um método que desserializa uma cadeia de caracteres codificada em base64 e retorna uma ICollection coleção de configurações de propriedade. O Deserialize método pode lançar uma exceção HttpException que contém um ViewStateException objeto como uma exceção interna. O exemplo mostra como você pode capturar uma exceção HttpException e recuperar as propriedades do ViewStateException objeto.

private ICollection LoadControlProperties(string serializedProperties)
{

    ICollection controlProperties = null;

    // Create an ObjectStateFormatter to deserialize the properties.
    ObjectStateFormatter formatter = new ObjectStateFormatter();

    try
    {
        // Call the Deserialize method.
        controlProperties = (ArrayList)formatter.Deserialize(serializedProperties);
    }
    catch (HttpException e)
    {
        ViewStateException vse = (ViewStateException)e.InnerException;
        String logMessage;

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

        LogEvent(logMessage);

        if (vse.IsConnected)
        {
            HttpContext.Current.Response.Redirect("ErrorPage.aspx");
        }
        else
        {
            throw e;
        }
    }
    return controlProperties;
}
Private Function LoadControlProperties(ByVal serializedProperties As String) As ICollection

    Dim controlProperties As ICollection = Nothing

    ' Create an ObjectStateFormatter to deserialize the properties.
    Dim formatter As New ObjectStateFormatter()

    Try
        ' Call the Deserialize method.
        controlProperties = CType(formatter.Deserialize(serializedProperties), ArrayList)
    Catch e As HttpException
        Dim vse As ViewStateException
        Dim logMessage As String

        vse = e.InnerException

        logMessage = "ViewStateException. Path: " + vse.Path + Environment.NewLine
        logMessage += "PersistedState: " + vse.PersistedState + Environment.NewLine
        logMessage += "Referer: " + vse.Referer + Environment.NewLine
        logMessage += "UserAgent: " + vse.UserAgent + Environment.NewLine

        LogEvent(logMessage)

        If (vse.IsConnected) Then
            HttpContext.Current.Response.Redirect("ErrorPage.aspx")
        Else
            Throw e
        End If
    End Try
    Return controlProperties
End Function 'LoadControlProperties

Comentários

Se ocorrer uma exceção quando a página carregar as informações de estado de exibição, a página criará um ViewStateException objeto e passará-o como uma exceção interna dentro de uma exceção HttpException . A HttpException exceção é gerada novamente para ser manipulada pelo aplicativo.

A ViewStateException classe armazena informações sobre a exceção na Message propriedade. Se a solicitação tiver permissão para acessar a ServerVariables propriedade, a Message propriedade conterá os valores retornados das RemoteAddresspropriedades , RemotePort, UserAgent, PersistedStateReferere Path , caso contrário, a Message propriedade contém uma mensagem de erro de estado de exibição genérico.

Uma exceção de estado de exibição pode ser o resultado de um erro de validação de MAC (Códigos de Autenticação de Mensagem). Se o atributo enableViewStateMac de página estiver definido como true, as informações de estado de exibição serão codificadas com um identificador MAC. Quando as informações de estado de exibição são postadas de volta no servidor, a página verifica a codificação para garantir que ela não tenha sido alterada pelo usuário. Se a página não puder validar a codificação MAC nas informações de estado de exibição, ela lançará uma exceção HttpException com o ViewStateException objeto como uma exceção interna.

Para que a validação mac tenha êxito, as informações de estado de exibição devem ser hash pela mesma chave quando são enviadas e recebidas. Em um farm da Web, a chave do computador em cada servidor deve ser definida como uma chave comum.

Construtores

ViewStateException()

Inicializa uma nova instância da classe ViewStateException.

Propriedades

Data

Obtém uma coleção de pares de chave/valor que fornecem informações definidas pelo usuário adicionais sobre a exceção.

(Herdado de Exception)
HelpLink

Obtém ou define um link para o arquivo de ajuda associado a essa exceção.

(Herdado de Exception)
HResult

Obtém ou define HRESULT, um valor numérico codificado que é atribuído a uma exceção específica.

(Herdado de Exception)
InnerException

Obtém a instância Exception que causou a exceção atual.

(Herdado de Exception)
IsConnected

Obtém um valor que indica se o cliente está conectado ao servidor no momento.

Message

Obtém informações de depuração sobre a solicitação HTTP que resultou em uma exceção de estado de exibição.

Path

Obtém o caminho da solicitação HTTP que resultou em uma exceção de estado de exibição.

PersistedState

Obtém o conteúdo da cadeia de caracteres de estado de exibição que, quando lido, causou a exceção de estado de exibição.

Referer

Obtém a URL da página que é vinculada à página em que ocorreu a exceção de estado de exibição.

RemoteAddress

Obtém o endereço IP da solicitação HTTP que resultou em uma exceção de estado de exibição.

RemotePort

Obtém o número da porta da solicitação HTTP que resultou em uma exceção de estado de exibição.

Source

Obtém ou define o nome do aplicativo ou objeto que causa o erro.

(Herdado de Exception)
StackTrace

Obtém uma representação de cadeia de caracteres de quadros imediatos na pilha de chamadas.

(Herdado de Exception)
TargetSite

Obtém o método que gerou a exceção atual.

(Herdado de Exception)
UserAgent

Obtém o tipo de navegador da solicitação HTTP que resultou em uma exceção de estado de exibição.

Métodos

Equals(Object)

Determina se o objeto especificado é igual ao objeto atual.

(Herdado de Object)
GetBaseException()

Quando substituído em uma classe derivada, retorna a Exception que é a causa raiz de uma ou mais exceções subsequentes.

(Herdado de Exception)
GetHashCode()

Serve como a função de hash padrão.

(Herdado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Inicializa uma nova instância da classe ViewStateException com dados serializados.

GetType()

Obtém o tipo de runtime da instância atual.

(Herdado de Exception)
MemberwiseClone()

Cria uma cópia superficial do Object atual.

(Herdado de Object)
ToString()

Cria e retorna uma representação de cadeia de caracteres da exceção atual.

(Herdado de Exception)

Eventos

SerializeObjectState
Obsoleto.

Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.

(Herdado de Exception)

Aplica-se a

Confira também