Freigeben über


ViewStateException Klasse

Definition

Stellt die Ausnahme dar, die ausgelöst wird, wenn der Ansichtszustand nicht geladen oder validiert 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 Eigenschafteneinstellungen 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 Ansichtszustandsinformationen 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 RemoteAddressEigenschaften , RemotePort, UserAgentPersistedState, Referer, und Path zurückgegeben werden. Andernfalls enthält die Message Eigenschaft eine generische View-State-Fehlermeldung.

Eine Ansichtszustands-Ausnahme kann das Ergebnis eines MAC-Validierungsfehlers (Message Authentication Codes) sein. Wenn das Seitenattribute enableViewStateMac auf truefestgelegt ist, werden Ansichtszustandsinformationen mit einem MAC-Bezeichner codiert. Wenn die Ansichtsstatusinformationen an den Server zurückgesendet 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-Validierung erfolgreich ist, müssen die Ansichtsstatusinformationen beim Senden und Empfangen mit demselben Schlüssel gehasht werden. Innerhalb einer Webfarm sollte der Computerschlüssel auf jedem Server auf einen gemeinsamen Schlüssel festgelegt werden.

Konstruktoren

ViewStateException()

Initialisiert eine neue Instanz der ViewStateException-Klasse.

Eigenschaften

Data

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

(Geerbt von Exception)
HelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.

(Geerbt von Exception)
HResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet 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 gegenwärtig mit dem Server verbunden ist.

Message

Ruft Debuginformationen zur HTTP-Anforderung ab, die zu einer Ansichtszustandsausnahme geführt hat.

Path

Ruft den Pfad der HTTP-Anforderung ab, die zu einer Ansichtszustandsausnahme geführt hat.

PersistedState

Ruft den Inhalt der Zeichenfolge des Ansichtszustands ab, die beim Lesen die Ansichtszustandsausnahme verursacht hat.

Referer

Ruft die URL der Seite ab, die mit der Seite verknüpft war, auf der die Ansichtszustandsausnahme aufgetreten ist.

RemoteAddress

Ruft die IP-Adresse der HTTP-Anforderung ab, die zu einer Ansichtszustandsausnahme geführt hat.

RemotePort

Ruft die Anschlussnummer der HTTP-Anforderung ab, die zu einer Ansichtszustandsausnahme geführt hat.

Source

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.

(Geerbt von Exception)
StackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste 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 Ansichtszustandsausnahme geführt hat.

Methoden

Equals(Object)

Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist.

(Geerbt von Object)
GetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die Grundursache für eine oder mehrere nachfolgende Ausnahmen ist.

(Geerbt von Exception)
GetHashCode()

Fungiert 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 des aktuellen Object.

(Geerbt von Object)
ToString()

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

(Geerbt von Exception)

Ereignisse

SerializeObjectState
Veraltet.

Tritt auf, wenn eine Ausnahme serialisiert wird, um ein Ausnahmezustandsobjekt mit serialisierten Daten über die Ausnahme zu erstellen.

(Geerbt von Exception)

Gilt für:

Weitere Informationen