Exception.SerializeObjectState Evento
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
BinaryFormatter serialization is obsolete and should not be used. See https://aka.ms/binaryformatter for more information.
Ocorre quando uma exceção é serializada para criar um objeto de estado de exceção que contém dados serializados sobre a exceção.
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)
- Atributos
O objeto de estado de exceção implementa a ISafeSerializationData interface .
Quando o SerializeObjectState evento é inscrito, a exceção é desserializada e criada como uma exceção vazia. O construtor da exceção não é executado e o estado de exceção também é desserializado. O CompleteDeserialization método de retorno de chamada do objeto de estado de exceção é notificado para que ele possa enviar dados desserializados por push para a exceção vazia.
O SerializeObjectState evento permite que tipos de exceção transparentes serializem e desserializem dados de exceção. O código transparente pode executar comandos dentro dos limites do conjunto de permissões em que está operando, mas não pode executar, chamar, derivar ou conter código crítico.
Se o SerializeObjectState evento não estiver inscrito, a desserialização ocorrerá como de costume usando o Exception construtor .
Normalmente, um manipulador para o SerializeObjectState evento é adicionado ao construtor da exceção para fornecer sua serialização. Mas como o construtor não é executado quando o SerializeObjectState manipulador de eventos é executado, serializar uma exceção desserializada pode gerar uma SerializationException exceção quando você tenta desserializar a exceção. Para evitar isso, você também deve adicionar o manipulador para o SerializeObjectState evento no ISafeSerializationData.CompleteDeserialization método . Consulte a seção Exemplos para obter uma ilustração.
Se esse evento for inscrito e usado, todos os tipos derivados que seguem na hierarquia de herança deverão implementar o mesmo mecanismo de serialização.
Produto | Versões (Obsoleto) |
---|---|
.NET | Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5 (6, 7, 8, 9) |
.NET Framework | 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 2.0, 2.1 |
Comentários do .NET
O .NET é um projeto código aberto. Selecione um link para fornecer comentários: