Partager via


ObjectStateFormatter.Deserialize Méthode

Définition

Désérialise un graphique d’état d’objet à partir d’un formulaire sérialisé.

Surcharges

Nom Description
Deserialize(Stream)

Désérialise un graphique d’état d’objet à partir de sa forme sérialisée binaire contenue dans l’objet spécifié Stream .

Deserialize(String)

Désérialise un graphique d’état d’objet à partir de sa forme de chaîne codée en base64 sérialisée.

Remarques

Important

L’appel de cette méthode avec des données non approuvées est un risque de sécurité. Appelez cette méthode uniquement avec des données approuvées. Pour plus d’informations, consultez Valider toutes les entrées.

Deserialize(Stream)

Désérialise un graphique d’état d’objet à partir de sa forme sérialisée binaire contenue dans l’objet spécifié 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

Paramètres

inputStream
Stream

C’est-à-dire Stream que le ObjectStateFormatter désérialise dans un initialisé object.

Retours

Objet qui représente un graphique d’état d’objet désérialisé.

Exceptions

La valeur spécifiée inputStream est null.

Une exception se produit lors de la désérialisation du Stream. Le message d’exception est ajouté au message du ArgumentException.

Exemples

L’exemple de code suivant montre comment une classe qui dérive de la PageStatePersister classe initialise la ViewState collection. Dans cet exemple, la ViewState collection a été affectée au First champ d’un Pair objet et sérialisée dans un fichier à l’aide de la ObjectStateFormatter classe. Lorsque la Load méthode est appelée, la Deserialize(Stream) méthode est utilisée pour désérialiser l’état d’affichage à partir du fichier et la ViewState propriété est initialisée. Cet exemple de code fait partie d’un exemple plus grand fourni pour la PageStatePersister classe.

//
// 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

Remarques

Tout graphique d’état d’objet sérialisé avec la Serialize méthode peut être désérialisé avec la Deserialize méthode. La Deserialize(Stream) méthode est utilisée pour restaurer un graphique d’état d’objet stocké dans un Stream, tel qu’un FileStream.

Important

L’appel de cette méthode avec des données non approuvées est un risque de sécurité. Appelez cette méthode uniquement avec des données approuvées. Pour plus d’informations, consultez Valider toutes les entrées.

S’applique à

Deserialize(String)

Désérialise un graphique d’état d’objet à partir de sa forme de chaîne codée en base64 sérialisée.

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

Paramètres

inputString
String

Chaîne qui ObjectStateFormatter désérialise dans un objet initialisé.

Retours

Objet qui représente un graphique d’état d’objet désérialisé.

Exceptions

La valeur spécifiée inputString est null ou a une Length valeur de 0.

Les données sérialisées ne sont pas valides.

Vérification de validation du code d’authentification de l’ordinateur (MAC) effectuée lors de l’échec de la désérialisation de l’état d’affichage.

Exemples

L’exemple de code suivant montre comment implémenter une méthode qui désérialise une chaîne codée en base64 et retourne une ICollection collection de paramètres de propriété. Cet exemple de code s’appuie sur les paramètres de propriété qui ont été sérialisés avec la ObjectStateFormatter classe, comme indiqué dans la Serialize(Object) méthode.

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

Remarques

Tout graphique d’état d’objet sérialisé avec la Serialize méthode peut être désérialisé avec la Deserialize méthode. La Deserialize(String) méthode est utilisée pour restaurer un graphique d’état d’objet stocké sous forme de chaîne codée en base64.

Important

L’appel de cette méthode avec des données non approuvées est un risque de sécurité. Appelez cette méthode uniquement avec des données approuvées. Pour plus d’informations, consultez Valider toutes les entrées.

S’applique à