ObjectStateFormatter.Deserialize Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Deserializeert een objectstatusgrafiek van geserialiseerde vorm.
Overloads
| Name | Description |
|---|---|
| Deserialize(Stream) |
Deserializeert een objectstatusgrafiek van de binaire geserialiseerde vorm die zich in het opgegeven Stream object bevindt. |
| Deserialize(String) |
Deserializeert een objectstatusgrafiek op basis van het geserialiseerde met base64 gecodeerde tekenreeksformulier. |
Opmerkingen
Important
Het aanroepen van deze methode met niet-vertrouwde gegevens is een beveiligingsrisico. Roep deze methode alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.
Deserialize(Stream)
Deserializeert een objectstatusgrafiek van de binaire geserialiseerde vorm die zich in het opgegeven Stream object bevindt.
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
Parameters
- inputStream
- Stream
Een Stream die deserialisatie ObjectStateFormatter in een geïnitialiseerde object.
Retouren
Een object dat een deserialized objectstatusgrafiek vertegenwoordigt.
Uitzonderingen
De opgegeven inputStream is null.
Er treedt een uitzondering op tijdens de deserialisatie van de Stream. Het uitzonderingsbericht wordt toegevoegd aan het bericht van de ArgumentException.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe een klasse die is afgeleid van de klasse de PageStatePersisterViewState verzameling initialiseert. In dit voorbeeld is de ViewState verzameling toegewezen aan het First veld van een Pair object en geserialiseerd aan een bestand met behulp van de ObjectStateFormatter klasse. Wanneer de Load methode wordt aangeroepen, wordt de methode gebruikt om de Deserialize(Stream) weergavestatus van het bestand te deserialiseren en wordt de ViewState eigenschap geïnitialiseerd. Dit codevoorbeeld maakt deel uit van een groter voorbeeld voor de PageStatePersister klasse.
//
// 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
Opmerkingen
Elke objectstatusgrafiek die met de Serialize methode wordt geserialiseerd, kan met de Deserialize methode worden gedeserialiseerd. De Deserialize(Stream) methode wordt gebruikt om een objectstatusgrafiek te herstellen die is opgeslagen in een Stream, zoals een FileStream.
Important
Het aanroepen van deze methode met niet-vertrouwde gegevens is een beveiligingsrisico. Roep deze methode alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.
Van toepassing op
Deserialize(String)
Deserializeert een objectstatusgrafiek op basis van het geserialiseerde met base64 gecodeerde tekenreeksformulier.
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
Parameters
- inputString
- String
Een tekenreeks die deserialiseerd ObjectStateFormatter in een geïnitialiseerd object.
Retouren
Een object dat een deserialized objectstatusgrafiek vertegenwoordigt.
Uitzonderingen
De opgegeven inputString waarde is null of heeft een Length waarde van 0.
De geserialiseerde gegevens zijn ongeldig.
De mac-validatiecontrole (Machine Authentication Code) die wordt uitgevoerd wanneer deserialiseren van de weergavestatus mislukt.
Voorbeelden
In het volgende codevoorbeeld ziet u hoe u een methode implementeert waarmee een base64-gecodeerde tekenreeks wordt gedeserialiseerd en een ICollection verzameling eigenschapsinstellingen wordt geretourneerd. Dit codevoorbeeld is afhankelijk van de eigenschapsinstellingen die zijn geserialiseerd met de ObjectStateFormatter klasse, zoals wordt weergegeven in de Serialize(Object) methode.
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
Opmerkingen
Elke objectstatusgrafiek die met de Serialize methode wordt geserialiseerd, kan met de Deserialize methode worden gedeserialiseerd. De Deserialize(String) methode wordt gebruikt om een objectstatusgrafiek te herstellen die is opgeslagen in een tekenreeksformulier met base64-codering.
Important
Het aanroepen van deze methode met niet-vertrouwde gegevens is een beveiligingsrisico. Roep deze methode alleen aan met vertrouwde gegevens. Zie Alle invoergegevens validerenvoor meer informatie.