Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

ViewStateException-Klasse

 

Veröffentlicht: Oktober 2016

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

Namespace:   System.Web.UI
Assembly:  System.Web (in System.Web.dll)

System.Object
  System.Exception
    System.Web.UI.ViewStateException

[SerializableAttribute]
public sealed class ViewStateException : Exception, ISerializable

NameBeschreibung
System_CAPS_pubmethodViewStateException()

Initialisiert eine neue Instanz der ViewStateException-Klasse.

NameBeschreibung
System_CAPS_pubpropertyData

Ruft eine Auflistung von Schlüssel-Wert-Paaren ab, die zusätzliche benutzerdefinierte Informationen über die Ausnahme bereitstellen.(Geerbt von „Exception“.)

System_CAPS_pubpropertyHelpLink

Ruft einen Link zur Hilfedatei ab, die dieser Ausnahme zugeordnet ist, oder legt einen Link fest.(Geerbt von „Exception“.)

System_CAPS_pubpropertyHResult

Ruft HRESULT ab oder legt HRESULT fest. Dies ist ein codierter Wert, der einer bestimmten Ausnahme zugeordnet ist.(Geerbt von „Exception“.)

System_CAPS_pubpropertyInnerException

Ruft die Exception-Instanz ab, die die aktuelle Ausnahme verursacht hat.(Geerbt von „Exception“.)

System_CAPS_pubpropertyIsConnected

Ruft einen Wert, der angibt, ob der Client gegenwärtig mit dem Server verbunden ist.

System_CAPS_pubpropertyMessage

Ruft Informationen über die HTTP-Anforderung Debuggen, die in einem Ansichtszustand Ausnahme geführt haben.(Überschreibt Exception.Message.)

System_CAPS_pubpropertyPath

Ruft den Pfad der HTTP-Anforderung, die in einem Ansichtszustand Ausnahme geführt haben.

System_CAPS_pubpropertyPersistedState

Ruft den Inhalt der Ansichtszustand Zeichenfolge, die beim Lesen der Ansichtszustand Ausnahme verursacht hat.

System_CAPS_pubpropertyReferer

Ruft die URL der Seite, die mit der Seite verknüpft, in dem der Ansichtszustand Ausnahme, ab.

System_CAPS_pubpropertyRemoteAddress

Ruft die IP-Adresse der HTTP-Anforderung, die in einem Ansichtszustand Ausnahme geführt haben.

System_CAPS_pubpropertyRemotePort

Ruft die Portnummer der HTTP-Anforderung, die in einem Ansichtszustand Ausnahme geführt haben.

System_CAPS_pubpropertySource

Gibt den Namen der Anwendung oder des Objekts zurück, die bzw. das den Fehler verursacht hat, oder legt diesen fest.(Geerbt von „Exception“.)

System_CAPS_pubpropertyStackTrace

Ruft eine Zeichenfolgendarstellung der unmittelbaren Frames in der Aufrufliste ab.(Geerbt von „Exception“.)

System_CAPS_pubpropertyTargetSite

Ruft die Methode ab, die die aktuelle Ausnahme auslöst.(Geerbt von „Exception“.)

System_CAPS_pubpropertyUserAgent

Ruft den Browsertyp der HTTP-Anforderung, die in einem Ansichtszustand Ausnahme geführt haben.

NameBeschreibung
System_CAPS_pubmethodEquals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.(Geerbt von „Object“.)

System_CAPS_pubmethodGetBaseException()

Gibt beim Überschreiben in einer abgeleiteten Klasse eine Exception zurück, die die ursprüngliche Ursache für eine oder mehrere nachfolgende Ausnahmen ist.(Geerbt von „Exception“.)

System_CAPS_pubmethodGetHashCode()

Fungiert als die Standardhashfunktion.(Geerbt von „Object“.)

System_CAPS_pubmethodGetObjectData(SerializationInfo, StreamingContext)

Initialisiert eine neue Instanz der ViewStateException-Klasse mit serialisierten Daten.(Überschreibt Exception.GetObjectData(SerializationInfo, StreamingContext).)

System_CAPS_pubmethodGetType()

Ruft den Laufzeittyp der aktuellen Instanz ab.(Geerbt von „Exception“.)

System_CAPS_pubmethodToString()

Erstellt eine Zeichenfolgendarstellung der aktuellen Ausnahme und gibt diese zurück.(Geerbt von „Exception“.)

Wenn eine Ausnahme tritt auf, wenn die Seite die Informationen zum Ansichtszustand lädt, erstellt die Seite ein ViewStateException -Objekt und übergibt sie als innere Ausnahme in einer HttpException Ausnahme. Die HttpException Ausnahme wird erneut ausgelöst, um von der Anwendung behandelt werden.

Die ViewStateException -Klasse speichert Informationen zur Ausnahme in der Message Eigenschaft. Wenn die Anforderung über eine Zugriffsberechtigung verfügt die ServerVariables -Eigenschaft, die Message -Eigenschaft zurückgegebenen Werte enthält die RemoteAddress, RemotePort, UserAgent, PersistedState, Referer, und Path Eigenschaften ist, andernfalls der Message Eigenschaft enthält eine allgemeine Fehlermeldung Ansichtszustand.

Eine Ausnahme Ansichtszustand kann das Ergebnis eines Validierungsfehlers (Message Authentication Codes, MAC) sein. Wenn das Attribut enableViewStateMac Wert true, Informationen zum Ansichtszustand mit einem MAC-Bezeichner codiert ist. Wenn die Zustandsinformationen an den Server zurückgesendet wird, überprüft die Seite die Codierung, um sicherzustellen, dass es nicht vom Benutzer geändert wurde. Wenn die Seite die MAC-Codierung auf die Informationen zum Ansichtszustand überprüfen kann, löst eine HttpException mit Ausnahme der ViewStateException -Objekt als innere Ausnahme.

Für die MAC-Validierung erfolgreich ausgeführt werden kann muss die Informationen zum Ansichtszustand mit dem gleichen Schlüssel gehasht beim Senden und empfangen. Innerhalb einer Webfarm sollte der Computerschlüssel auf jedem Server zu einem gemeinsamen Schlüssel festgelegt werden.

Im folgenden Codebeispiel wird veranschaulicht, wie eine Methode implementiert, die deserialisiert eine base64-codierte Zeichenfolge und gibt eine ICollection Auflistung von Eigenschaften. Die Deserialize Methode auslösen kann eine HttpException Ausnahme, enthält ein ViewStateException Objekt als innere Ausnahme. Im Beispiel wird gezeigt, wie Sie abfangen können eine HttpException Ausnahme und Abrufen von Eigenschaften aus der ViewStateException Objekt.

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;
}

.NET Framework
Verfügbar seit 2.0

Alle öffentlichen statischen Member ( Shared in Visual Basic) dieses Typs sind threadsicher. Die Threadsicherheit für Instanzmember ist nicht garantiert.

Zurück zum Anfang
Anzeigen: