Partager via


ViewStateException Classe

Définition

Représente l’exception levée lorsque l’état d’affichage ne peut pas être chargé ou validé. Cette classe ne peut pas être héritée.

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
Héritage
ViewStateException
Attributs
Implémente

Exemples

L’exemple de code suivant montre comment implémenter une méthode qui désérialise une chaîne codée en base64 et retourne une ICollection collection de paramètres de propriété. La Deserialize méthode peut lever une HttpException exception qui contient un ViewStateException objet en tant qu’exception interne. L’exemple montre comment intercepter une HttpException exception et récupérer les propriétés de l’objet ViewStateException .

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

Remarques

Si une exception se produit lorsque la page charge les informations d’état d’affichage, la page crée un ViewStateException objet et le transmet en tant qu’exception interne dans une HttpException exception. L’exception HttpException est levée de nouveau pour être gérée par l’application.

La ViewStateException classe stocke des informations sur l’exception dans la Message propriété. Si la demande a l’autorisation d’accéder à la ServerVariables propriété, la Message propriété contient les valeurs retournées par le RemoteAddressmessage d’erreur d’état PersistedStateUserAgentRefererRemotePortPath d’affichage générique, sinon, la Message propriété contient un message d’erreur d’état d’affichage générique.

Une exception d’état d’affichage peut être le résultat d’une erreur de validation mac (Message Authentication Codes). Si l’attribut enableViewStateMac de page est défini truesur , les informations d’état d’affichage sont encodées avec un identificateur MAC. Lorsque les informations d’état d’affichage sont publiées sur le serveur, la page vérifie l’encodage pour s’assurer qu’il n’a pas été modifié par l’utilisateur. Si la page ne peut pas valider l’encodage MAC sur les informations d’état d’affichage, elle lève une HttpException exception avec l’objet ViewStateException comme exception interne.

Pour que la validation MAC réussisse, les informations d’état d’affichage doivent être hachées par la même clé lorsqu’elles sont envoyées et reçues. Dans une batterie de serveurs Web, la clé d’ordinateur sur chaque serveur doit être définie sur une clé commune.

Constructeurs

Nom Description
ViewStateException()

Initialise une nouvelle instance de la classe ViewStateException.

Propriétés

Nom Description
Data

Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l’utilisateur sur l’exception.

(Hérité de Exception)
HelpLink

Obtient ou définit un lien vers le fichier d’aide associé à cette exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée affectée à une exception spécifique.

(Hérité de Exception)
InnerException

Obtient l’instance Exception qui a provoqué l’exception actuelle.

(Hérité de Exception)
IsConnected

Obtient une valeur indiquant si le client est actuellement connecté au serveur.

Message

Obtient des informations de débogage sur la requête HTTP qui a entraîné une exception d’état d’affichage.

Path

Obtient le chemin d’accès de la requête HTTP qui a entraîné une exception d’état d’affichage.

PersistedState

Obtient le contenu de la chaîne d’état d’affichage qui, en lecture, a provoqué l’exception d’état d’affichage.

Referer

Obtient l’URL de la page liée à la page où l’exception d’état d’affichage s’est produite.

RemoteAddress

Obtient l’adresse IP de la requête HTTP qui a entraîné une exception d’état d’affichage.

RemotePort

Obtient le numéro de port de la requête HTTP qui a entraîné une exception d’état d’affichage.

Source

Obtient ou définit le nom de l’application ou de l’objet qui provoque l’erreur.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des images immédiates sur la pile des appels.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l’exception actuelle.

(Hérité de Exception)
UserAgent

Obtient le type de navigateur de la requête HTTP qui a entraîné une exception d’état d’affichage.

Méthodes

Nom Description
Equals(Object)

Détermine si l’objet spécifié est égal à l’objet actuel.

(Hérité de Object)
GetBaseException()

En cas de substitution dans une classe dérivée, retourne la Exception cause racine d’une ou plusieurs exceptions ultérieures.

(Hérité de Exception)
GetHashCode()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetObjectData(SerializationInfo, StreamingContext)

Initialise une nouvelle instance de la ViewStateException classe avec des données sérialisées.

GetType()

Obtient le type d’exécution de l’instance actuelle.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
ToString()

Crée et retourne une représentation sous forme de chaîne de l’exception actuelle.

(Hérité de Exception)

Événements

Nom Description
SerializeObjectState
Obsolète.

Se produit lorsqu’une exception est sérialisée pour créer un objet d’état d’exception qui contient des données sérialisées sur l’exception.

(Hérité de Exception)

S’applique à

Voir aussi