Bagikan melalui


ViewStateException Kelas

Definisi

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

Berlaku untuk

Lihat juga