Compartir vía


ViewStateException Clase

Definición

Representa la excepción que se produce cuando el estado de vista no se puede cargar ni validar. Esta clase no puede heredarse.

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
Herencia
ViewStateException
Atributos
Implementaciones

Ejemplos

En el ejemplo de código siguiente se muestra cómo implementar un método que deserializa una cadena codificada en base64 y devuelve una ICollection colección de valores de propiedad. El Deserialize método puede producir una HttpException excepción que contenga un ViewStateException objeto como una excepción interna. En el ejemplo se muestra cómo se puede detectar una HttpException excepción y recuperar las propiedades del 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

Comentarios

Si se produce una excepción cuando la página carga la información de estado de vista, la página crea un ViewStateException objeto y lo pasa como una excepción interna dentro de una HttpException excepción. La HttpException aplicación vuelve a iniciar la excepción.

La ViewStateException clase almacena información sobre la excepción en la Message propiedad . Si la solicitud tiene permiso para tener acceso a la ServerVariables propiedad , la Message propiedad contiene los valores devueltos por las RemoteAddresspropiedades , , UserAgentRemotePort, PersistedState, Referery Path ; de lo contrario, la Message propiedad contiene un mensaje de error de estado de vista genérico.

Una excepción de estado de vista puede ser el resultado de un error de validación de códigos de autenticación de mensajes (MAC). Si el atributo enableViewStateMac de página está establecido trueen , la información de estado de vista se codifica con un identificador MAC. Cuando la información de estado de vista se devuelve al servidor, la página comprueba la codificación para asegurarse de que el usuario no lo ha modificado. Si la página no puede validar la codificación MAC en la información de estado de vista, producirá una HttpException excepción con el ViewStateException objeto como una excepción interna.

Para que la validación de MAC se realice correctamente, la información de estado de vista debe aplicar un hash con la misma clave cuando se envía y recibe. Dentro de una granja de servidores web, la clave de máquina de cada servidor debe establecerse en una clave común.

Constructores

ViewStateException()

Inicializa una nueva instancia de la clase ViewStateException.

Propiedades

Data

Obtiene una colección de pares clave/valor que proporciona información definida por el usuario adicional sobre la excepción.

(Heredado de Exception)
HelpLink

Obtiene o establece un vínculo al archivo de ayuda asociado a esta excepción.

(Heredado de Exception)
HResult

Obtiene o establece HRESULT, un valor numérico codificado que se asigna a una excepción específica.

(Heredado de Exception)
InnerException

Obtiene la instancia Exception que produjo la excepción actual.

(Heredado de Exception)
IsConnected

Obtiene un valor que indica si el cliente está conectado al servidor actualmente.

Message

Obtiene información de depuración sobre la solicitud HTTP que produjo una excepción del estado de vista.

Path

Obtiene la ruta de acceso de la solicitud HTTP que produjo una excepción del estado de vista.

PersistedState

Obtiene el contenido de la cadena del estado de vista que, al leerse, produjo la excepción del estado de vista.

Referer

Obtiene la dirección URL de la página vinculada a la página en la que se produjo la excepción del estado de vista.

RemoteAddress

Obtiene la dirección IP de la solicitud HTTP que produjo una excepción del estado de vista.

RemotePort

Obtiene el número de puerto de la solicitud HTTP que produjo una excepción del estado de vista.

Source

Devuelve o establece el nombre de la aplicación o del objeto que generó el error.

(Heredado de Exception)
StackTrace

Obtiene una representación de cadena de los marcos inmediatos en la pila de llamadas.

(Heredado de Exception)
TargetSite

Obtiene el método que produjo la excepción actual.

(Heredado de Exception)
UserAgent

Obtiene el tipo de explorador de la solicitud HTTP que produjo una excepción del estado de vista.

Métodos

Equals(Object)

Determina si el objeto especificado es igual que el objeto actual.

(Heredado de Object)
GetBaseException()

Cuando se invalida en una clase derivada, devuelve la clase Exception que representa la causa principal de una o más excepciones posteriores.

(Heredado de Exception)
GetHashCode()

Sirve como la función hash predeterminada.

(Heredado de Object)
GetObjectData(SerializationInfo, StreamingContext)

Inicializa una nueva instancia de la clase ViewStateException con datos serializados.

GetType()

Obtiene el tipo de tiempo de ejecución de la instancia actual.

(Heredado de Exception)
MemberwiseClone()

Crea una copia superficial del Object actual.

(Heredado de Object)
ToString()

Crea y devuelve una representación de cadena de la excepción actual.

(Heredado de Exception)

Eventos

SerializeObjectState
Obsoleto.

Ocurre cuando una excepción se serializa para crear un objeto de estado de excepción que contenga datos serializados sobre la excepción.

(Heredado de Exception)

Se aplica a

Consulte también