ViewStateException Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
- 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) |