Aracılığıyla paylaş


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ı koleksiyonu 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 ViewStateException bir ö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 nesne 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ı, ViewStateException özel durum hakkındaki bilgileri özelliğinde Message depolar. İsteğin özelliğine erişme ServerVariables izni varsa, Message özelliği , , RemotePort, PersistedStateUserAgent, Refererve Path özelliklerinden döndürülen RemoteAddressdeğ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 ViewStateException iç özel durum olarak bir özel durum oluştururHttpException.

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

Name Description
ViewStateException()

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

Özellikler

Name Description
Data

Özel durum hakkında kullanıcı tanımlı ek bilgiler sağlayan anahtar/değer çiftleri koleksiyonunu 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 değerini 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ı gösteren 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

Name Description
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)

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

GetType()

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

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

Geçerli Objectbasit 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

Name Description
SerializeObjectState
Geçersiz.

Özel durum hakkında serileştirilmiş veriler içeren bir özel durum durumu nesnesi oluşturmak için bir özel durum seri hale getirildiğinde gerçekleşir.

(Devralındığı yer: Exception)

Şunlara uygulanır

Ayrıca bkz.