Sdílet prostřednictvím


ViewStateException Třída

Definice

Představuje výjimku, která se vyvolá, když stav zobrazení nelze načíst nebo ověřit. Tuto třídu nelze dědit.

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
Dědičnost
ViewStateException
Atributy
Implementuje

Příklady

Následující příklad kódu ukazuje, jak implementovat metodu, která deserializuje řetězec s kódováním base64 a vrací ICollection kolekci nastavení vlastností. Metoda Deserialize může vyvolat HttpException výjimku, která obsahuje ViewStateException objekt jako vnitřní výjimku. Příklad ukazuje, jak můžete zachytit HttpException výjimku a načíst vlastnosti z objektu ViewStateException .

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

Poznámky

Pokud dojde k výjimce, když stránka načte informace o stavu zobrazení, stránka vytvoří ViewStateException objekt a předá ho jako vnitřní výjimku v rámci HttpException výjimky. Výjimka HttpException se znovu vyvolá, aby ji aplikace zpracovávala.

Třída ViewStateException ukládá informace o výjimce ve Message vlastnosti. Pokud má požadavek oprávnění pro přístup ServerVariables k vlastnosti, Message vlastnost obsahuje hodnoty vrácené z RemoteAddress, RemotePort, , UserAgent, PersistedStateReferera Path vlastnosti; jinak Message vlastnost obsahuje obecnou chybovou zprávu stavu zobrazení.

Výjimka stavu zobrazení může být výsledkem chyby ověření kódů MAC (Message Authentication Codes). Pokud je atribut enableViewStateMac stránky nastavený na true, informace o stavu zobrazení jsou kódovány identifikátorem MAC. Když se informace o stavu zobrazení publikují zpět na server, stránka ověří kódování, aby se zajistilo, že uživatel ho nezměnil. Pokud stránka nemůže ověřit kódování MAC v informacích o stavu zobrazení, vyvolá HttpException výjimku s ViewStateException objektem jako vnitřní výjimkou.

Aby bylo ověření MAC úspěšné, musí být informace o stavu zobrazení hashovány stejným klíčem při odeslání a přijetí. Ve webové farmě by měl být klíč počítače na každém serveru nastavený na společný klíč.

Konstruktory

ViewStateException()

Inicializuje novou instanci ViewStateException třídy.

Vlastnosti

Data

Získá kolekci párů klíč/hodnota, které poskytují další uživatelem definované informace o výjimce.

(Zděděno od Exception)
HelpLink

Získá nebo nastaví odkaz na soubor nápovědy přidružený k této výjimce.

(Zděděno od Exception)
HResult

Získá nebo nastaví HRESULT, kódovanou číselnou hodnotu přiřazenou konkrétní výjimce.

(Zděděno od Exception)
InnerException

Exception Získá instanci, která způsobila aktuální výjimku.

(Zděděno od Exception)
IsConnected

Získá hodnotu určující, zda je klient aktuálně připojen k serveru.

Message

Získá informace o ladění požadavku HTTP, který způsobil výjimku stavu zobrazení.

Path

Získá cestu požadavku HTTP, který způsobil výjimku stavu zobrazení.

PersistedState

Získá obsah řetězce stavu zobrazení, který při čtení způsobil výjimku stavu zobrazení.

Referer

Získá adresu URL stránky, která je propojená se stránkou, kde došlo k výjimce stavu zobrazení.

RemoteAddress

Získá IP adresu požadavku HTTP, který způsobil výjimku stavu zobrazení.

RemotePort

Získá číslo portu požadavku HTTP, který způsobil výjimku stavu zobrazení.

Source

Získá nebo nastaví název aplikace nebo objektu, který způsobuje chybu.

(Zděděno od Exception)
StackTrace

Získá řetězcové znázornění okamžitých rámců v zásobníku volání.

(Zděděno od Exception)
TargetSite

Získá metodu, která vyvolá aktuální výjimku.

(Zděděno od Exception)
UserAgent

Získá typ prohlížeče požadavku HTTP, který způsobil výjimku stavu zobrazení.

Metody

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

(Zděděno od Object)
GetBaseException()

Při přepsání v odvozené třídě vrátí Exception hodnotu, která je hlavní příčinou jedné nebo více následných výjimek.

(Zděděno od Exception)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetObjectData(SerializationInfo, StreamingContext)

Inicializuje novou instanci třídy ViewStateException se serializovanými daty.

GetType()

Získá typ modulu runtime aktuální instance.

(Zděděno od Exception)
MemberwiseClone()

Vytvoří použádnou kopii aktuálního souboru Object.

(Zděděno od Object)
ToString()

Vytvoří a vrátí řetězcovou reprezentaci aktuální výjimky.

(Zděděno od Exception)

událost

SerializeObjectState
Zastaralé.

Nastane, když je výjimka serializována k vytvoření objektu stavu výjimky, který obsahuje serializovaná data o výjimce.

(Zděděno od Exception)

Platí pro

Viz také