ObjectStateFormatter.Deserialize Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.