Freigeben über


ViewStateException Klasse

Definition

Stellt die Ausnahme dar, die ausgelöst wird, wenn der Ansichtszustand nicht geladen oder überprüft werden kann. Diese Klasse kann nicht vererbt werden.

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
Vererbung
ViewStateException
Attribute
Implementiert

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Methode implementiert wird, die eine base64-codierte Zeichenfolge deserialisiert und eine ICollection Auflistung von Eigenschaftseinstellungen zurückgibt. Die Deserialize Methode kann eine HttpException Ausnahme auslösen, die ein ViewStateException Objekt als innere Ausnahme enthält. Das Beispiel zeigt, wie Sie eine HttpException Ausnahme abfangen und die Eigenschaften aus dem ViewStateException Objekt abrufen können.

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

Hinweise

Wenn eine Ausnahme auftritt, wenn die Seite die Ansichtsstatusinformationen lädt, erstellt die Seite ein ViewStateException Objekt und übergibt es als innere Ausnahme innerhalb einer HttpException Ausnahme. Die HttpException Ausnahme wird erneut ausgelöst, um von der Anwendung behandelt zu werden.

Die ViewStateException Klasse speichert Informationen zur Ausnahme in der Message Eigenschaft. Wenn die Anforderung über die Berechtigung für den Zugriff auf die ServerVariables Eigenschaft verfügt, enthält die Message Eigenschaft die werte, die von den RemoteAddress, RemotePort, , UserAgent, , PersistedState, Refererund Path Eigenschaften zurückgegeben werden. Andernfalls enthält die Message Eigenschaft eine generische Fehlermeldung im Ansichtszustand.

Eine Ansichtsstatus-Ausnahme kann das Ergebnis eines Überprüfungsfehlers der Nachrichtenauthentifizierungscodes (MAC) sein. Wenn das Seitenattribute enableViewStateMac auf true"View-State"-Informationen festgelegt ist, werden die Informationen mit einem MAC-Bezeichner codiert. Wenn die Ansichtsstatusinformationen zurück auf den Server gepostet werden, überprüft die Seite die Codierung, um sicherzustellen, dass sie vom Benutzer nicht geändert wurde. Wenn die Seite die MAC-Codierung für die Ansichtszustandsinformationen nicht überprüfen kann, löst sie eine HttpException Ausnahme mit dem ViewStateException Objekt als innere Ausnahme aus.

Damit die MAC-Überprüfung erfolgreich ausgeführt werden kann, müssen die Ansichtsstatusinformationen mit demselben Schlüssel hashed werden, wenn sie gesendet und empfangen werden. Innerhalb einer Webfarm sollte der Computerschlüssel auf jedem Server auf einen gemeinsamen Schlüssel festgelegt werden.

Konstruktoren

Name Beschreibung
ViewStateException()

Initialisiert eine neue Instanz der ViewStateException-Klasse.

Eigenschaften

Name Beschreibung
Data

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen zur Ausnahme bereitstellen.

(Geerbt von Exception)
HelpLink

Dient zum Abrufen oder Festlegen eines Links zur Hilfedatei, die dieser Ausnahme zugeordnet ist.

(Geerbt von Exception)
HResult

Dient zum Abrufen oder Festlegen von HRESULT, einem codierten numerischen Wert, der einer bestimmten Ausnahme zugewiesen ist.

(Geerbt von Exception)
InnerException

Ruft die Exception Instanz ab, die die aktuelle Ausnahme verursacht hat.

(Geerbt von Exception)
IsConnected

Ruft einen Wert ab, der angibt, ob der Client derzeit mit dem Server verbunden ist.

Message

Ruft Debuginformationen über die HTTP-Anforderung ab, die zu einer Ansichtszustandsausnahme führte.

Path

Ruft den Pfad der HTTP-Anforderung ab, die zu einer Ansichtszustandsausnahme führte.

PersistedState

Ruft den Inhalt der Ansichtszustandszeichenfolge ab, die beim Lesen die Ausnahme des Ansichtszustands verursacht hat.

Referer

Ruft die URL der Seite ab, die mit der Seite verknüpft ist, auf der die Ansichtsstatus-Ausnahme aufgetreten ist.

RemoteAddress

Ruft die IP-Adresse der HTTP-Anforderung ab, die zu einer Ansichtsstatusausnahme führte.

RemotePort

Ruft die Portnummer der HTTP-Anforderung ab, die zu einer Ansichtsstatusausnahme führte.

Source

Dient zum Abrufen oder Festlegen des Namens der Anwendung oder des Objekts, das den Fehler verursacht.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames im Aufrufstapel ab.

(Geerbt von Exception)
TargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.

(Geerbt von Exception)
UserAgent

Ruft den Browsertyp der HTTP-Anforderung ab, die zu einer Ansichtsstatusausnahme führte.

Methoden

Name Beschreibung
Equals(Object)

Bestimmt, ob das angegebene Objekt dem aktuellen Objekt entspricht.

(Geerbt von Object)
GetBaseException()

Wenn sie in einer abgeleiteten Klasse überschrieben wird, wird die Exception Ursache einer oder mehrerer nachfolgenden Ausnahmen zurückgegeben.

(Geerbt von Exception)
GetHashCode()

Dient als Standardhashfunktion.

(Geerbt von Object)
GetObjectData(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der ViewStateException Klasse mit serialisierten Daten.

GetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.

(Geerbt von Exception)
MemberwiseClone()

Erstellt eine flache Kopie der aktuellen Object.

(Geerbt von Object)
ToString()

Erstellt und gibt eine Zeichenfolgendarstellung der aktuellen Ausnahme zurück.

(Geerbt von Exception)

Ereignisse

Name Beschreibung
SerializeObjectState
Veraltet.

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmestatusobjekt zu erstellen, das serialisierte Daten zu der Ausnahme enthält.

(Geerbt von Exception)

Gilt für:

Weitere Informationen