Bagikan melalui


ObjectStateFormatter.Deserialize Metode

Definisi

Mendeserialisasi grafik status objek dari formulir berseri.

Overload

Deserialize(Stream)

Mendeserialisasi grafik status objek dari bentuk serial biner yang terkandung dalam objek yang ditentukan Stream .

Deserialize(String)

Mendeserialisasi grafik status objek dari bentuk string yang dikodekan base64 berseri.

Keterangan

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Deserialize(Stream)

Mendeserialisasi grafik status objek dari bentuk serial biner yang terkandung dalam objek yang ditentukan Stream .

public:
 System::Object ^ Deserialize(System::IO::Stream ^ inputStream);
public object Deserialize (System.IO.Stream inputStream);
member this.Deserialize : System.IO.Stream -> obj
Public Function Deserialize (inputStream As Stream) As Object

Parameter

inputStream
Stream

Stream yang deserialisasi ObjectStateFormatter menjadi inisialisasi object.

Mengembalikan

Objek yang mewakili grafik status objek yang dideserialisasi.

Pengecualian

Yang ditentukan inputStream adalah null.

Pengecualian terjadi selama deserialisasi Stream. Pesan pengecualian ditambahkan ke pesan dari ArgumentException.

Contoh

Contoh kode berikut menunjukkan bagaimana kelas yang berasal dari PageStatePersister kelas menginisialisasi ViewState koleksi. Dalam contoh ini, ViewState koleksi telah ditetapkan ke First bidang objek, dan diserialisasikan Pair ke file menggunakan ObjectStateFormatter kelas . Load Ketika metode dipanggil, Deserialize(Stream) metode digunakan untuk mendeserialisasi status tampilan dari file, dan properti diinisialisasiViewState. Contoh kode ini adalah bagian dari contoh yang lebih besar yang disediakan untuk PageStatePersister kelas .

//
// Load ViewState and ControlState.
//
public override void Load()
{
    Stream stateStream = GetSecureStream();

    // Read the state string, using the StateFormatter.
    StreamReader reader = new StreamReader(stateStream);

    IStateFormatter formatter = this.StateFormatter;
    string fileContents = reader.ReadToEnd();

    // Deserilize returns the Pair object that is serialized in
    // the Save method.
    Pair statePair = (Pair)formatter.Deserialize(fileContents);

    ViewState = statePair.First;
    ControlState = statePair.Second;
    reader.Close();
    stateStream.Close();
}
'
' Load ViewState and ControlState.
'
Public Overrides Sub Load()

    Dim stateStream As Stream
    stateStream = GetSecureStream()

    ' Read the state string, using the StateFormatter.
    Dim reader As New StreamReader(stateStream)

    Dim serializedStatePair As String
    serializedStatePair = reader.ReadToEnd
    Dim statePair As Pair

    Dim formatter As IStateFormatter
    formatter = Me.StateFormatter

    ' Deserilize returns the Pair object that is serialized in
    ' the Save method.      
    statePair = CType(formatter.Deserialize(serializedStatePair), Pair)

    ViewState = statePair.First
    ControlState = statePair.Second
    reader.Close()
    stateStream.Close()
End Sub

Keterangan

Grafik status objek apa pun yang diserialisasikan dengan Serialize metode dapat dideserialisasi dengan Deserialize metode . Metode Deserialize(Stream) ini digunakan untuk memulihkan grafik status objek yang disimpan dalam Stream, seperti FileStream.

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Berlaku untuk

Deserialize(String)

Mendeserialisasi grafik status objek dari bentuk string yang dikodekan base64 berseri.

public:
 System::Object ^ Deserialize(System::String ^ inputString);
public object Deserialize (string inputString);
member this.Deserialize : string -> obj
Public Function Deserialize (inputString As String) As Object

Parameter

inputString
String

String yang dideserialisasi ObjectStateFormatter menjadi objek yang diinisialisasi.

Mengembalikan

Objek yang mewakili grafik status objek yang dideserialisasi.

Pengecualian

yang ditentukan inputString adalah null atau memiliki Length dari 0.

Data berseri tidak valid.

Pemeriksaan validasi kode autentikasi mesin (MAC) yang dilakukan saat status tampilan deserialisasi gagal.

Contoh

Contoh kode berikut menunjukkan cara mengimplementasikan metode yang mendeserialisasi string yang dikodekan base64 dan mengembalikan ICollection kumpulan pengaturan properti. Contoh kode ini bergantung pada pengaturan properti yang telah diserialisasikan dengan ObjectStateFormatter kelas , seperti yang Serialize(Object) ditunjukkan dalam metode .

private ICollection LoadControlProperties (string serializedProperties) {

    ICollection controlProperties = null;

    // Create an ObjectStateFormatter to deserialize the properties.
    ObjectStateFormatter formatter = new ObjectStateFormatter();

    // Call the Deserialize method.
    controlProperties = (ArrayList) formatter.Deserialize(serializedProperties);

    return controlProperties;
}
Private Function LoadControlProperties(serializedProperties As String) As ICollection
   
   Dim controlProperties As ICollection = Nothing
   
   ' Create an ObjectStateFormatter to deserialize the properties.
   Dim formatter As New ObjectStateFormatter()
   
   ' Call the Deserialize method.
   controlProperties = CType(formatter.Deserialize(serializedProperties), ArrayList)
   
   Return controlProperties
End Function 'LoadControlProperties

Keterangan

Grafik status objek apa pun yang diserialisasikan dengan Serialize metode dapat dideserialisasi dengan Deserialize metode . Metode Deserialize(String) ini digunakan untuk memulihkan grafik status objek yang disimpan dalam bentuk string yang dikodekan base64.

Penting

Memanggil metode ini dengan data yang tidak tepercaya adalah risiko keamanan. Panggil metode ini hanya dengan data tepercaya. Untuk informasi selengkapnya, lihat Memvalidasi Semua Input.

Berlaku untuk