ViewStateException Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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
- 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 true
en , 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) |