ViewStateException Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- Ö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 true
ayarlanı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) |