ViewStateException Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
- 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) |