Exception.SerializeObjectState Kejadian

Definisi

Perhatian

BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.

Terjadi ketika pengecualian diserialisasikan untuk membuat objek status pengecualian yang berisi data berseri tentang pengecualian.

protected:
 event EventHandler<System::Runtime::Serialization::SafeSerializationEventArgs ^> ^ SerializeObjectState;
protected event EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs>? SerializeObjectState;
[System.Obsolete("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
protected event EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs>? SerializeObjectState;
protected event EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs> SerializeObjectState;
member this.SerializeObjectState : EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs> 
[<System.Obsolete("BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.", DiagnosticId="SYSLIB0011", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
member this.SerializeObjectState : EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs> 
Protected Custom Event SerializeObjectState As EventHandler(Of SafeSerializationEventArgs) 

Jenis Acara

Atribut

Keterangan

Objek status pengecualian mengimplementasikan ISafeSerializationData antarmuka.

SerializeObjectState Ketika peristiwa berlangganan, pengecualian dideserialisasi dan dibuat sebagai pengecualian kosong. Konstruktor pengecualian tidak dijalankan, dan status pengecualian juga dideserialisasi. Metode CompleteDeserialization panggilan balik objek status pengecualian kemudian diberi tahu sehingga dapat mendorong data yang dideserialisasi ke dalam pengecualian kosong.

Kejadian ini SerializeObjectState memungkinkan jenis pengecualian transparan untuk menserialisasikan dan mendeserialisasi data pengecualian. Kode transparan dapat menjalankan perintah dalam batas set izin yang dioperasikannya, tetapi tidak dapat menjalankan, memanggil, memperoleh dari, atau berisi kode penting.

SerializeObjectState Jika peristiwa tidak berlangganan, deserialisasi terjadi seperti biasa menggunakan Exception konstruktor.

Biasanya, handler untuk SerializeObjectState peristiwa ditambahkan dalam konstruktor pengecualian untuk menyediakan serialisasinya. Tetapi karena konstruktor tidak dijalankan ketika SerializeObjectState penanganan aktivitas dijalankan, serialisasi pengecualian yang dideserialisasi dapat melemparkan SerializationException pengecualian ketika Anda mencoba untuk mendeserialisasi pengecualian. Untuk menghindari hal ini, Anda juga harus menambahkan handler untuk SerializeObjectState peristiwa dalam ISafeSerializationData.CompleteDeserialization metode . Lihat bagian Contoh untuk ilustrasi.

Catatan Bagi Inheritor

Jika peristiwa ini berlangganan dan digunakan, semua jenis turunan yang mengikuti dalam hierarki pewarisan harus menerapkan mekanisme serialisasi yang sama.

Berlaku untuk