ViewStateException Classe

Définition

Représente l'exception qui est levée lorsque l'état d'affichage ne peut pas être chargé ni validé.Represents the exception that is thrown when the view state cannot be loaded or validated. Cette classe ne peut pas être héritée.This class cannot be inherited.

public ref class ViewStateException sealed : Exception
[System.Serializable]
public sealed class ViewStateException : Exception
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 encodée en base64 et retourne une ICollection collection de paramètres de propriété.The following code example demonstrates how to implement a method that deserializes a base64-encoded string and returns an ICollection collection of property settings. La Deserialize méthode peut lever une HttpException exception qui contient un ViewStateException objet en tant qu’exception interne.The Deserialize method can throw an HttpException exception that contains a ViewStateException object as an inner exception. L’exemple montre comment intercepter une HttpException exception et récupérer les propriétés de l' ViewStateException objet.The example shows how you can catch an HttpException exception and retrieve the properties from the ViewStateException object.

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 ViewStateException crée un objet et le passe en tant qu’exception HttpException interne dans une exception.If an exception occurs when the page loads the view-state information, the page creates a ViewStateException object and passes it as an inner exception within an HttpException exception. L' HttpException exception est levée à nouveau pour être gérée par l’application.The HttpException exception is re-thrown to be handled by the application.

La ViewStateException classe stocke des informations sur l’exception Message dans la propriété.The ViewStateException class stores information about the exception in the Message property. Si la demande est autorisée à accéder à ServerVariables la propriété, la Message propriété contient les valeurs retournées RemoteAddresspar Refererles UserAgentpropriétés PersistedState, RemotePort,, Path , et. sous Sinon, la Message propriété contient un message d’erreur d’état d’affichage générique.If the request has permission to access the ServerVariables property, then the Message property contains the values returned from the RemoteAddress, RemotePort, UserAgent, PersistedState, Referer, and Path properties; otherwise, the Message property contains a generic view-state error message.

Une exception d’état d’affichage peut être le résultat d’une erreur de validation de codes d’authentification de message (MAC).A view-state exception can be the result of a Message Authentication Codes (MAC) validation error. Si l’attribut enableViewStateMac de page a la truevaleur, les informations d’état d’affichage sont encodées avec un identificateur Mac.If the page attribute enableViewStateMac is set to true, view-state information is encoded with a MAC identifier. 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.When the view-state information is posted back to the server, the page verifies the encoding to ensure that it has not been altered by the user. Si la page ne peut pas valider l’encodage Mac sur les informations d’état d’affichage, HttpException elle lèvera une ViewStateException exception avec l’objet en tant qu’exception interne.If the page cannot validate the MAC encoding on the view-state information, it will throw an HttpException exception with the ViewStateException object as an inner exception.

Pour que la validation MAC aboutisse, les informations d’état d’affichage doivent être hachées à l’aide de la même clé lorsqu’elles sont envoyées et reçues.For MAC validation to succeed, the view-state information must be hashed by the same key when it is sent and received. Dans une batterie de serveurs Web, la clé de l’ordinateur sur chaque serveur doit être définie sur une clé commune.Within a Web farm, the machine key on each server should be set to a common key.

Constructeurs

ViewStateException()

Initialise une nouvelle instance de la classe ViewStateException.Initializes a new instance of the ViewStateException class.

Propriétés

Data

Obtient une collection de paires clé/valeur qui fournissent des informations supplémentaires définies par l’utilisateur sur l’exception.Gets a collection of key/value pairs that provide additional user-defined information about the exception.

(Hérité de Exception)
HelpLink

Obtient ou définit un lien vers le fichier d'aide associé à cette exception.Gets or sets a link to the help file associated with this exception.

(Hérité de Exception)
HResult

Obtient ou définit HRESULT, valeur numérique codée qui est assignée à une exception spécifique.Gets or sets HRESULT, a coded numerical value that is assigned to a specific exception.

(Hérité de Exception)
InnerException

Obtient l'instance Exception qui a provoqué l'exception actuelle.Gets the Exception instance that caused the current exception.

(Hérité de Exception)
IsConnected

Obtient une valeur indiquant si le client est actuellement connecté au serveur.Gets a value indicating whether the client is currently connected to the server.

Message

Obtient des informations de débogage à propos de la demande HTTP ayant généré une exception d'état d'affichage.Gets debugging information about the HTTP request that resulted in a view-state exception.

Path

Obtient le chemin d'accès de la demande HTTP ayant généré une exception d'état d'affichage.Gets the path of the HTTP request that resulted in a view-state exception.

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.Gets the contents of the view-state string that, when read, caused the view-state exception.

Referer

Obtient l'URL de la page ayant lié à la page où l'exception d'état d'affichage s'est produite.Gets the URL of the page that linked to the page where the view-state exception occurred.

RemoteAddress

Obtient l'adresse IP de la demande HTTP ayant généré une exception d'état d'affichage.Gets the IP address of the HTTP request that resulted in a view-state exception.

RemotePort

Obtient le numéro de port de la demande HTTP ayant généré une exception d'état d'affichage.Gets the port number of the HTTP request that resulted in a view-state exception.

Source

Obtient ou définit le nom de l'application ou de l'objet qui est à l'origine de l'erreur.Gets or sets the name of the application or the object that causes the error.

(Hérité de Exception)
StackTrace

Obtient une représentation sous forme de chaîne des frames immédiats sur la pile des appels.Gets a string representation of the immediate frames on the call stack.

(Hérité de Exception)
TargetSite

Obtient la méthode qui lève l'exception actuelle.Gets the method that throws the current exception.

(Hérité de Exception)
UserAgent

Obtient le type de navigateur de la demande HTTP ayant généré une exception d'état d'affichage.Gets the browser type of the HTTP request that resulted in a view-state exception.

Méthodes

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.Determines whether the specified object is equal to the current object.

(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.When overridden in a derived class, returns the Exception that is the root cause of one or more subsequent exceptions.

(Hérité de Exception)
GetHashCode()

Sert de fonction de hachage par défaut.Serves as the default hash function.

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

Initialise une nouvelle instance de la classe ViewStateException avec des données sérialisées.Initializes a new instance of the ViewStateException class with serialized data.

GetType()

Obtient le type au moment de l'exécution de l'instance actuelle.Gets the runtime type of the current instance.

(Hérité de Exception)
MemberwiseClone()

Crée une copie superficielle du Object actuel.Creates a shallow copy of the current Object.

(Hérité de Object)
ToString()

Crée et retourne une chaîne représentant l'exception actuelle.Creates and returns a string representation of the current exception.

(Hérité de Exception)

Événements

SerializeObjectState

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.Occurs when an exception is serialized to create an exception state object that contains serialized data about the exception.

(Hérité de Exception)

S’applique à

Voir aussi