Exception.SerializeObjectState Olay

Tanım

Dikkat

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

Bir özel durum, özel durum hakkında serileştirilmiş veriler içeren bir özel durum nesnesi oluşturmak üzere seri hale getirildiğinde gerçekleşir.

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) 

Olay Türü

Öznitelikler

Açıklamalar

Özel durum nesnesi arabirimini ISafeSerializationData uygular.

SerializeObjectState Olaya abone olunduğunda, özel durum seri durumdan çıkarılır ve boş bir özel durum olarak oluşturulur. Özel durumun oluşturucusu çalıştırılmaz ve özel durum da seri durumdan çıkarılır. Ardından CompleteDeserialization , seri durumdan çıkarılmış verileri boş özel duruma gönderebilmesi için özel durum nesnesinin geri çağırma yöntemi bildirilir.

Olay, SerializeObjectState saydam özel durum türlerinin özel durum verilerini seri hale getirmesine ve seri durumdan çıkarmasına olanak tanır. Saydam kod, içinde çalıştığı izin kümesinin sınırları içinde komut yürütebilir, ancak yürütülemez, çağrılamaz, türetilemez veya kritik kod içeremez.

SerializeObjectState Olaya abone olunmazsa, seri durumdan çıkarma her zamanki gibi oluşturucu kullanılarak Exception gerçekleşir.

Genellikle, serileştirmesini SerializeObjectState sağlamak için özel durumun oluşturucusunda olay işleyicisi eklenir. Ancak, olay işleyicisi yürütürken oluşturucu yürütülmediğinden SerializeObjectState , seri durumdan çıkarılmış bir özel durumun seri duruma getirilmemesi, özel durumu seri durumdan çıkarmaya çalıştığınızda bir SerializationException özel durum oluşturabilir. Bunu önlemek için yönteminde olayın ISafeSerializationData.CompleteDeserialization işleyicisini SerializeObjectState de eklemeniz gerekir. Çizim için Örnekler bölümüne bakın.

Devralanlara Notlar

Bu olay abone olursa ve kullanılırsa, devralma hiyerarşisinde izleyen tüm türetilmiş türlerin aynı serileştirme mekanizmasını uygulaması gerekir.

Şunlara uygulanır