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ı 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) |