ViewStateException Kelas
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mewakili pengecualian yang dilemparkan saat status tampilan tidak dapat dimuat atau divalidasi. Kelas ini tidak dapat diwariskan.
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
- Warisan
- Atribut
- Penerapan
Contoh
Contoh kode berikut menunjukkan cara menerapkan metode yang mendeserialisasi string yang dikodekan base64 dan mengembalikan ICollection kumpulan pengaturan properti. Metode ini Deserialize dapat melemparkan HttpException pengecualian yang berisi ViewStateException objek sebagai pengecualian dalam. Contoh menunjukkan bagaimana Anda dapat menangkap HttpException pengecualian dan mengambil properti dari ViewStateException objek.
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
Keterangan
Jika pengecualian terjadi ketika halaman memuat informasi status tampilan, halaman membuat ViewStateException objek dan meneruskannya sebagai pengecualian dalam dalam HttpException pengecualian. Pengecualian HttpException dilemparkan kembali untuk ditangani oleh aplikasi.
Kelas ViewStateException menyimpan informasi tentang pengecualian di Message properti . Jika permintaan memiliki izin untuk mengakses ServerVariables properti, maka Message properti berisi nilai yang dikembalikan dari RemoteAddressproperti , , RemotePort, UserAgentPersistedState, Referer, dan Path ; jika tidak, Message properti berisi pesan kesalahan status tampilan generik.
Pengecualian status tampilan dapat berupa hasil kesalahan validasi Kode Autentikasi Pesan (MAC). Jika atribut enableViewStateMac halaman diatur ke true, informasi status tampilan dikodekan dengan pengidentifikasi MAC. Ketika informasi status tampilan diposting kembali ke server, halaman memverifikasi pengodean untuk memastikan bahwa informasi tersebut belum diubah oleh pengguna. Jika halaman tidak dapat memvalidasi pengodean MAC pada informasi status tampilan, halaman akan melemparkan HttpException pengecualian dengan ViewStateException objek sebagai pengecualian dalam.
Agar validasi MAC berhasil, informasi status tampilan harus di-hash oleh kunci yang sama saat dikirim dan diterima. Dalam farm Web, kunci komputer di setiap server harus diatur ke kunci umum.
Konstruktor
| Nama | Deskripsi |
|---|---|
| ViewStateException() |
Menginisialisasi instans baru dari kelas ViewStateException. |
Properti
| Nama | Deskripsi |
|---|---|
| Data |
Mendapatkan kumpulan pasangan kunci/nilai yang memberikan informasi tambahan yang ditentukan pengguna tentang pengecualian. (Diperoleh dari Exception) |
| HelpLink |
Mendapatkan atau mengatur tautan ke file bantuan yang terkait dengan pengecualian ini. (Diperoleh dari Exception) |
| HResult |
Mendapatkan atau mengatur HRESULT, nilai numerik berkode yang ditetapkan ke pengecualian tertentu. (Diperoleh dari Exception) |
| InnerException |
Mendapatkan instans Exception yang menyebabkan pengecualian saat ini. (Diperoleh dari Exception) |
| IsConnected |
Mendapatkan nilai yang menunjukkan apakah klien saat ini terhubung ke server. |
| Message |
Mendapatkan informasi penelusuran kesalahan tentang permintaan HTTP yang menghasilkan pengecualian status tampilan. |
| Path |
Mendapatkan jalur permintaan HTTP yang menghasilkan pengecualian status tampilan. |
| PersistedState |
Mendapatkan konten string status tampilan yang, saat dibaca, menyebabkan pengecualian status tampilan. |
| Referer |
Mendapatkan URL halaman yang ditautkan ke halaman tempat pengecualian status tampilan terjadi. |
| RemoteAddress |
Mendapatkan alamat IP permintaan HTTP yang menghasilkan pengecualian status tampilan. |
| RemotePort |
Mendapatkan nomor port permintaan HTTP yang menghasilkan pengecualian status tampilan. |
| Source |
Mendapatkan atau mengatur nama aplikasi atau objek yang menyebabkan kesalahan. (Diperoleh dari Exception) |
| StackTrace |
Mendapatkan representasi string dari bingkai langsung pada tumpukan panggilan. (Diperoleh dari Exception) |
| TargetSite |
Mendapatkan metode yang melemparkan pengecualian saat ini. (Diperoleh dari Exception) |
| UserAgent |
Mendapatkan jenis browser permintaan HTTP yang menghasilkan pengecualian status tampilan. |
Metode
| Nama | Deskripsi |
|---|---|
| Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
| GetBaseException() |
Ketika ditimpa di kelas turunan, mengembalikan Exception yang merupakan akar penyebab dari satu atau beberapa pengecualian berikutnya. (Diperoleh dari Exception) |
| GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
| GetObjectData(SerializationInfo, StreamingContext) |
Menginisialisasi instans ViewStateException baru kelas dengan data berseri. |
| GetType() |
Mendapatkan jenis runtime instans saat ini. (Diperoleh dari Exception) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| ToString() |
Membuat dan mengembalikan representasi string dari pengecualian saat ini. (Diperoleh dari Exception) |
Acara
| Nama | Deskripsi |
|---|---|
| SerializeObjectState |
Kedaluwarsa.
Terjadi ketika pengecualian diserialisasikan untuk membuat objek status pengecualian yang berisi data berseri tentang pengecualian. (Diperoleh dari Exception) |