Exception.SerializeObjectState Gebeurtenis

Definitie

Let op

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

Treedt op wanneer een uitzondering wordt geserialiseerd om een uitzonderingsstatusobject te maken dat geserialiseerde gegevens over de uitzondering bevat.

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;
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}")>]
member this.SerializeObjectState : EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs> 
member this.SerializeObjectState : EventHandler<System.Runtime.Serialization.SafeSerializationEventArgs> 
Protected Custom Event SerializeObjectState As EventHandler(Of SafeSerializationEventArgs) 

Gebeurtenistype

Kenmerken

Opmerkingen

Het object uitzonderingsstatus implementeert de ISafeSerializationData interface.

Wanneer de SerializeObjectState gebeurtenis is geabonneerd, wordt de uitzondering gedeserialiseerd en gemaakt als een lege uitzondering. De constructor van de uitzondering wordt niet uitgevoerd en de uitzonderingsstatus wordt ook gedeserialiseerd. De CompleteDeserialization callback-methode van het uitzonderingsstatusobject wordt vervolgens op de hoogte gesteld, zodat deze gedeserialiseerde gegevens naar de lege uitzondering kan pushen.

Met de SerializeObjectState gebeurtenis kunnen transparante uitzonderingstypen uitzonderingsgegevens serialiseren en deserialiseren. Transparante code kan opdrachten uitvoeren binnen de grenzen van de machtigingenset waarbinnen deze werkt, maar kan geen kritieke code uitvoeren, aanroepen, afleiden of bevatten.

Als de SerializeObjectState gebeurtenis niet is geabonneerd, gebeurt deserialisatie zoals gebruikelijk met behulp van de Exception constructor.

Normaal gesproken wordt een handler voor de SerializeObjectState gebeurtenis toegevoegd in de constructor van de uitzondering om te voorzien in de serialisatie. Maar omdat de constructor niet wordt uitgevoerd wanneer de SerializeObjectState gebeurtenis-handler wordt uitgevoerd, kan het serialiseren van een gedeserialiseerde uitzondering een SerializationException uitzondering veroorzaken wanneer u deserialiseert de uitzondering. Om dit te voorkomen, moet u ook de handler toevoegen voor de SerializeObjectState gebeurtenis in de ISafeSerializationData.CompleteDeserialization methode. Zie de sectie Voorbeelden voor een afbeelding.

Notities voor overnemers

Als deze gebeurtenis is geabonneerd en gebruikt, moeten alle afgeleide typen die volgen in de overnamehiƫrarchie hetzelfde serialisatiemechanisme implementeren.

Van toepassing op