ViewStateException Sınıf

Tanım

Görünüm durumu yüklenemediğinde veya doğrulanamadıklarında oluşan özel durumu temsil eder. Bu sınıf devralınamaz.

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
Devralma
ViewStateException
Öznitelikler
Uygulamalar

Örnekler

Aşağıdaki kod örneği, base64 ile kodlanmış bir dizeyi seri durumdan çıkaran ve özellik ayarları koleksiyonunu döndüren bir ICollection yöntemin nasıl uygulandığını gösterir. yöntemi, Deserialize bir HttpException nesneyi iç özel durum olarak içeren bir ViewStateException özel durum oluşturabilir. Örnek, bir HttpException özel durumu nasıl yakalayabileceğinizi ve nesneden özellikleri nasıl alabileceğinizi ViewStateException gösterir.

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

Açıklamalar

Sayfa görünüm durumu bilgilerini yüklediğinde bir özel durum oluşursa, sayfa bir ViewStateException nesnesi oluşturur ve bunu bir HttpException özel durum içinde iç özel durum olarak geçirir. Özel HttpException durum, uygulama tarafından işlenmek üzere yeniden oluşturulur.

sınıfı özelliğinde ViewStateExceptionMessage özel durum hakkındaki bilgileri depolar. İsteğin özelliğe erişim ServerVariables izni varsa, Message özelliği , , RemotePort, PersistedStateUserAgent, Refererve Path özelliklerinden RemoteAddressdöndürülen değerleri içerir; aksi takdirde, Message özellik genel bir görünüm durumu hata iletisi içerir.

Görünüm durumu özel durumu, İleti Kimlik Doğrulama Kodları (MAC) doğrulama hatasının sonucu olabilir. Sayfa özniteliği enableViewStateMac olarak trueayarlanırsa, görünüm durumu bilgileri bir MAC tanımlayıcısıyla kodlanır. Görünüm durumu bilgileri sunucuya geri gönderildiğinde, sayfa kullanıcı tarafından değiştirilmediğinden emin olmak için kodlamayı doğrular. Sayfa, görünüm durumu bilgilerinde MAC kodlamasını doğrulayamıyorsa, nesneyle iç ViewStateException özel durum olarak bir HttpException özel durum oluşturur.

MAC doğrulamasının başarılı olması için, görünüm durumu bilgilerinin gönderilip alındığında aynı anahtar tarafından karmalanması gerekir. Bir Web grubu içinde, her sunucudaki makine anahtarı ortak bir anahtara ayarlanmalıdır.

Oluşturucular

ViewStateException()

ViewStateException sınıfının yeni bir örneğini başlatır.

Özellikler

Data

Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan bir anahtar/değer çifti koleksiyonu alır.

(Devralındığı yer: Exception)
HelpLink

Bu özel durumla ilişkili yardım dosyasının bağlantısını alır veya ayarlar.

(Devralındığı yer: Exception)
HResult

Belirli bir özel duruma atanan kodlanmış sayısal bir değer olan HRESULT'u alır veya ayarlar.

(Devralındığı yer: Exception)
InnerException

Exception Geçerli özel duruma neden olan örneği alır.

(Devralındığı yer: Exception)
IsConnected

İstemcinin şu anda sunucuya bağlı olup olmadığını belirten bir değer alır.

Message

Görünüm durumu özel durumuyla sonuçlanan HTTP isteğiyle ilgili hata ayıklama bilgilerini alır.

Path

Görünüm durumu özel durumuyla sonuçlanan HTTP isteğinin yolunu alır.

PersistedState

Okunduğunda görünüm durumu özel durumuna neden olan görünüm durumu dizesinin içeriğini alır.

Referer

Görünüm durumu özel durumunun oluştuğu sayfaya bağlanan sayfanın URL'sini alır.

RemoteAddress

Görünüm durumu özel durumuyla sonuçlanan HTTP isteğinin IP adresini alır.

RemotePort

Görünüm durumu özel durumuyla sonuçlanan HTTP isteğinin bağlantı noktası numarasını alır.

Source

Hataya neden olan uygulamanın veya nesnenin adını alır veya ayarlar.

(Devralındığı yer: Exception)
StackTrace

Çağrı yığınındaki anlık çerçevelerin dize gösterimini alır.

(Devralındığı yer: Exception)
TargetSite

Geçerli özel durumu oluşturan yöntemini alır.

(Devralındığı yer: Exception)
UserAgent

Görünüm durumu özel durumuyla sonuçlanan HTTP isteğinin tarayıcı türünü alır.

Yöntemler

Equals(Object)

Belirtilen nesnenin geçerli nesneye eşit olup olmadığını belirler.

(Devralındığı yer: Object)
GetBaseException()

Türetilmiş bir sınıfta geçersiz kılındığında, sonraki bir veya daha fazla özel durumun kök nedeni olan değerini döndürür Exception .

(Devralındığı yer: Exception)
GetHashCode()

Varsayılan karma işlevi işlevi görür.

(Devralındığı yer: Object)
GetObjectData(SerializationInfo, StreamingContext)

ViewStateException sınıfının yeni bir örneğini serileştirilmiş verilerle başlatır.

GetType()

Geçerli örneğin çalışma zamanı türünü alır.

(Devralındığı yer: Exception)
MemberwiseClone()

Geçerli Objectöğesinin sığ bir kopyasını oluşturur.

(Devralındığı yer: Object)
ToString()

Geçerli özel durumun dize gösterimini oluşturur ve döndürür.

(Devralındığı yer: Exception)

Ekinlikler

SerializeObjectState
Geçersiz.

Bir özel durum, özel durum hakkında serileştirilmiş veriler içeren bir özel durum nesnesi oluşturmak üzere seri hale getirildiğinde gerçekleşir.

(Devralındığı yer: Exception)

Şunlara uygulanır

Ayrıca bkz.