ObjectStateFormatter.Deserialize Methode

Definitie

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.

Van toepassing op