ObjectStateFormatter.Deserialize Metode
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.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk