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) |