ObjectStateFormatter.Deserialize Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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.