ObjectStateFormatter.Deserialize Methode

Definition

Deserialisiert einen Objektzustandsgraphen aus der serialisierten Form.

Überlädt

Deserialize(Stream)

Deserialisiert einen Objektzustandsgraphen aus seiner binär serialisierten Form, der im angegebenen Stream-Objekt enthalten ist.

Deserialize(String)

Deserialisiert einen Objektzustandsgraphen aus seiner serialisierten Base64-codierten Zeichenfolgenform.

Hinweise

Wichtig

Das Aufrufen dieser Methode mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Rufen Sie diese Methode nur mit vertrauenswürdigen Daten auf. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Deserialize(Stream)

Deserialisiert einen Objektzustandsgraphen aus seiner binär serialisierten Form, der im angegebenen Stream-Objekt enthalten ist.

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

Parameter

inputStream
Stream

Ein Stream, den der ObjectStateFormatter in ein initialisiertes object deserialisiert.

Gibt zurück

Ein Objekt, das einen deserialisierten Objektzustandsgraphen darstellt.

Ausnahmen

Der angegebene inputStream ist gleich null.

Eine Ausnahme tritt während der Deserialisierung des Stream auf. Die Ausnahmemeldung wird an die Meldung der ArgumentException angefügt.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine von der PageStatePersister -Klasse abgeleitete Klasse die ViewState Auflistung initialisiert. In diesem Beispiel wurde die ViewState Auflistung dem First Feld eines Pair Objekts zugewiesen und mithilfe der ObjectStateFormatter -Klasse in eine Datei serialisiert. Wenn die Load -Methode aufgerufen wird, wird die Deserialize(Stream) -Methode verwendet, um den Ansichtszustand aus der Datei zu deserialisieren, und die ViewState Eigenschaft wird initialisiert. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die PageStatePersister-Klasse bereitgestellt wird.

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

Hinweise

Jedes Objektzustandsdiagramm, das mit der Serialize -Methode serialisiert wird, kann mit der Deserialize -Methode deserialisiert werden. Die Deserialize(Stream) -Methode wird verwendet, um ein Objektzustandsdiagramm wiederherzustellen, das in einem Streamgespeichert ist, z. B. .FileStream

Wichtig

Das Aufrufen dieser Methode mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Rufen Sie diese Methode nur mit vertrauenswürdigen Daten auf. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Gilt für:

Deserialize(String)

Deserialisiert einen Objektzustandsgraphen aus seiner serialisierten Base64-codierten Zeichenfolgenform.

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

Parameter

inputString
String

Eine Zeichenfolge, die der ObjectStateFormatter in ein initialisiertes Objekt deserialisiert.

Gibt zurück

Ein Objekt, das einen deserialisierten Objektzustandsgraphen darstellt.

Ausnahmen

Der angegebene inputString ist null oder hat die Length 0 (null).

Die serialisierten Daten sind ungültig.

Die MAC-Validierungsprüfung (Machine Authentication Code), die ausgeführt wird, wenn Fehler beim Deserialisieren des Ansichtszustands aufgetreten sind.

Beispiele

Im folgenden Codebeispiel wird veranschaulicht, wie eine Methode implementiert wird, die eine Base64-codierte Zeichenfolge deserialisiert und eine ICollection Auflistung von Eigenschafteneinstellungen zurückgibt. Dieses Codebeispiel basiert darauf, dass die Eigenschafteneinstellungen mit der ObjectStateFormatter -Klasse serialisiert wurden, wie in der Serialize(Object) -Methode gezeigt.

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

Hinweise

Jedes Objektzustandsdiagramm, das mit der Serialize -Methode serialisiert wird, kann mit der Deserialize -Methode deserialisiert werden. Die Deserialize(String) -Methode wird verwendet, um ein Objektzustandsdiagramm wiederherzustellen, das in base64-codierter Zeichenfolgenform gespeichert ist.

Wichtig

Das Aufrufen dieser Methode mit nicht vertrauenswürdigen Daten stellt ein Sicherheitsrisiko dar. Rufen Sie diese Methode nur mit vertrauenswürdigen Daten auf. Weitere Informationen finden Sie unter Überprüfen aller Eingaben.

Gilt für: