ViewStateException Classe

Définition

Représente l'exception qui est levée lorsque l'état d'affichage ne peut pas être chargé ni 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 exception qui contient un ViewStateException HttpException 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 à 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 à partir du RemoteAddressmessage d’erreur , , UserAgentRemotePort, PersistedStateet RefererPath propriétés ; 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 sur true, 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’elle est envoyée et reçue. Dans une batterie de serveurs web, la clé de machine sur chaque serveur doit être définie sur une clé commune.

Constructeurs

ViewStateException()

Initialise une nouvelle instance de la classe ViewStateException.

Propriétés

Data

Obtient une collection de paires clé/valeur qui fournissent des informations définies par l'utilisateur supplémentaires 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 qui est assigné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 à propos de la demande HTTP ayant généré une exception d'état d'affichage.

Path

Obtient le chemin d'accès de la demande HTTP ayant généré une exception d'état d'affichage.

PersistedState

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

Referer

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

RemoteAddress

Obtient l'adresse IP de la demande HTTP ayant généré une exception d'état d'affichage.

RemotePort

Obtient le numéro de port de la demande HTTP ayant généré une exception d'état d'affichage.

Source

Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des frames immédiats 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 demande HTTP ayant généré une exception d'état d'affichage.

Méthodes

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 qui est à l'origine d'une ou de plusieurs exceptions ultérieures.

(Hérité de Exception)
GetHashCode()

Fait office de fonction de hachage par défaut.

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

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

GetType()

Obtient le type au moment de l'exécution de l'instance actuelle.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
ToString()

Crée et retourne une chaîne représentant l'exception actuelle.

(Hérité de Exception)

Événements

SerializeObjectState
Obsolète.

Se produit quand une exception est sérialisée pour créer un objet d'état d'exception qui contient des données sérialisées concernant l'exception.

(Hérité de Exception)

S’applique à

Voir aussi