ViewStateException Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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) |