ViewStateException Klasa

Definicja

Reprezentuje wyjątek zgłaszany, gdy nie można załadować ani zweryfikować stanu widoku. Klasa ta nie może być dziedziczona.

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
Dziedziczenie
ViewStateException
Atrybuty
Implementuje

Przykłady

Poniższy przykład kodu pokazuje, jak zaimplementować metodę, która deserializuje ciąg zakodowany w formacie base64 i zwraca ICollection kolekcję ustawień właściwości. Metoda Deserialize może zgłosić HttpException wyjątek zawierający ViewStateException obiekt jako wyjątek wewnętrzny. W przykładzie pokazano, jak można przechwycić HttpException wyjątek i pobrać właściwości z ViewStateException obiektu.

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

Uwagi

Jeśli wystąpi wyjątek, gdy strona ładuje informacje o stanie widoku, strona tworzy ViewStateException obiekt i przekazuje go jako wyjątek wewnętrzny w HttpException ramach wyjątku. Wyjątek HttpException jest ponownie zgłaszany do obsługi przez aplikację.

Klasa ViewStateException przechowuje informacje o wyjątku Message we właściwości. Jeśli żądanie ma uprawnienie dostępu do ServerVariables właściwości, Message właściwość zawiera wartości zwracane z RemoteAddresswłaściwości , , RemotePort, PersistedStateUserAgent, , RefereriPath; w przeciwnym razie Message właściwość zawiera ogólny komunikat o błędzie widoku stanu.

Wyjątek stanu widoku może być wynikiem błędu weryfikacji kodów uwierzytelniania komunikatów (MAC). Jeśli atrybut enableViewStateMac strony ma wartość true, informacje o stanie widoku są kodowane przy użyciu identyfikatora MAC. Gdy informacje o stanie widoku są publikowane z powrotem na serwerze, strona weryfikuje kodowanie, aby upewnić się, że nie została zmieniona przez użytkownika. Jeśli strona nie może zweryfikować kodowania MAC w informacjach o stanie widoku, zgłosi HttpException wyjątek z ViewStateException obiektem jako wyjątek wewnętrzny.

Aby walidacja mac powiodła się, informacje o stanie widoku muszą zostać skróty przez ten sam klucz po wysłaniu i odebraniu. W farmie sieci Web klucz maszyny na każdym serwerze powinien być ustawiony na wspólny klucz.

Konstruktory

ViewStateException()

Inicjuje nowe wystąpienie klasy ViewStateException.

Właściwości

Data

Pobiera kolekcję par klucz/wartość, które zapewniają dodatkowe informacje zdefiniowane przez użytkownika dotyczące wyjątku.

(Odziedziczone po Exception)
HelpLink

Pobiera lub ustawia link do pliku pomocy skojarzonego z tym wyjątkiem.

(Odziedziczone po Exception)
HResult

Pobiera lub ustawia HRESULT, zakodowaną wartość liczbową przypisaną do określonego wyjątku.

(Odziedziczone po Exception)
InnerException

Exception Pobiera wystąpienie, które spowodowało bieżący wyjątek.

(Odziedziczone po Exception)
IsConnected

Pobiera wartość wskazującą, czy klient jest obecnie połączony z serwerem.

Message

Pobiera informacje o debugowaniu dotyczące żądania HTTP, które spowodowało wyjątek stanu widoku.

Path

Pobiera ścieżkę żądania HTTP, które spowodowało wyjątek stanu widoku.

PersistedState

Pobiera zawartość ciągu stanu widoku, który podczas odczytu spowodował wyjątek stanu widoku.

Referer

Pobiera adres URL strony połączonej ze stroną, na której wystąpił wyjątek stanu widoku.

RemoteAddress

Pobiera adres IP żądania HTTP, który spowodował wyjątek stanu widoku.

RemotePort

Pobiera numer portu żądania HTTP, który spowodował wyjątek stanu widoku.

Source

Pobiera lub ustawia nazwę aplikacji lub obiektu, który powoduje błąd.

(Odziedziczone po Exception)
StackTrace

Pobiera reprezentację ciągu natychmiastowych ramek w stosie wywołań.

(Odziedziczone po Exception)
TargetSite

Pobiera metodę, która zgłasza bieżący wyjątek.

(Odziedziczone po Exception)
UserAgent

Pobiera typ przeglądarki żądania HTTP, który spowodował wyjątek stanu widoku.

Metody

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetBaseException()

W przypadku zastąpienia w klasie pochodnej zwraca Exception główną przyczynę co najmniej jednego kolejnego wyjątku.

(Odziedziczone po Exception)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetObjectData(SerializationInfo, StreamingContext)

Inicjuje nowe wystąpienie klasy ViewStateException z zserializowanymi danymi.

GetType()

Pobiera typ środowiska uruchomieniowego bieżącego wystąpienia.

(Odziedziczone po Exception)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
ToString()

Tworzy i zwraca reprezentację ciągu bieżącego wyjątku.

(Odziedziczone po Exception)

Zdarzenia

SerializeObjectState
Przestarzałe.

Występuje, gdy wyjątek jest serializowany w celu utworzenia obiektu stanu wyjątku zawierającego serializowane dane o wyjątku.

(Odziedziczone po Exception)

Dotyczy

Zobacz też