Partager via


ObjectStateFormatter.Deserialize Méthode

Définition

Désérialise un graphique d'état d'objet à partir d'une forme sérialisée.

Surcharges

Deserialize(Stream)

Désérialise un graphique d'état d'objet issu de son formulaire sérialisé en binaire, contenu dans l'objet Stream spécifié.

Deserialize(String)

Désérialise un graphique d'état d'objet à partir de sa forme de chaîne sérialisée encodée en base 64.

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 avec des données approuvées uniquement. Pour plus d’informations, consultez Valider toutes les entrées.

Deserialize(Stream)

Désérialise un graphique d'état d'objet issu de son formulaire sérialisé en binaire, contenu dans l'objet Stream spécifié.

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

Stream que le ObjectStateFormatter désérialise dans un object initialisé.

Retours

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

Exceptions

Le inputStream spécifié a la valeur null.

Une exception se produit pendant 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 dérivée 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 avec des données approuvées uniquement. 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 sérialisée encodée en base 64.

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 que le ObjectStateFormatter désérialise dans un objet initialisé.

Retours

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

Exceptions

Le inputString spécifié est null ou affiche un Length de valeur 0.

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

Contrôle de la validation du code MAC (Machine Authentication Code) effectué lorsque la désérialisation de l'état d'affichage échoue.

Exemples

L’exemple de code suivant montre comment implémenter une méthode qui désérialise une chaîne encodé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 encodé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 avec des données approuvées uniquement. Pour plus d’informations, consultez Valider toutes les entrées.

S’applique à