ObjectStateFormatter.Deserialize Metod

Definition

Deserialiserar ett objekttillståndsdiagram från serialiserat formulär.

Överlagringar

Name Description
Deserialize(Stream)

Deserialiserar ett objekttillståndsdiagram från dess binär-serialiserade form som finns i det angivna Stream objektet.

Deserialize(String)

Deserialiserar ett objekttillståndsdiagram från dess serialiserade base64-kodade strängformulär.

Kommentarer

Important

Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.

Deserialize(Stream)

Deserialiserar ett objekttillståndsdiagram från dess binär-serialiserade form som finns i det angivna Stream objektet.

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

Parametrar

inputStream
Stream

A Stream som ObjectStateFormatter deserialiserar till en initierad object.

Returer

Ett objekt som representerar ett deserialiserat objekttillståndsdiagram.

Undantag

Den angivna inputStream är null.

Ett undantag inträffar under deserialiseringen av Stream. Undantagsmeddelandet läggs till i meddelandet för ArgumentException.

Exempel

Följande kodexempel visar hur en klass som härleds från PageStatePersister klassen initierar ViewState samlingen. I det här exemplet ViewState har samlingen tilldelats till First fältet för ett Pair objekt och serialiserats till en fil med hjälp av ObjectStateFormatter -klassen. Load När metoden anropas Deserialize(Stream) används metoden för att deserialisera visningstillståndet från filen och egenskapen ViewState initieras. Det här kodexemplet är en del av ett större exempel för PageStatePersister klassen.

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

Kommentarer

Alla objekttillståndsdiagram som serialiseras med Serialize metoden kan deserialiseras med Deserialize metoden. Metoden Deserialize(Stream) används för att återställa ett objekttillståndsdiagram som lagras i en Stream, till exempel en FileStream.

Important

Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.

Gäller för

Deserialize(String)

Deserialiserar ett objekttillståndsdiagram från dess serialiserade base64-kodade strängformulär.

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

Parametrar

inputString
String

En sträng som ObjectStateFormatter deserialiseras till ett initierat objekt.

Returer

Ett objekt som representerar ett deserialiserat objekttillståndsdiagram.

Undantag

Den angivna inputString är null eller har en Length på 0.

Serialiserade data är ogiltiga.

Verifieringskontrollen av datorns autentiseringskod (MAC) som utförs när visningstillståndet för deserialisering misslyckas.

Exempel

Följande kodexempel visar hur du implementerar en metod som deserialiserar en base64-kodad sträng och returnerar en ICollection samling egenskapsinställningar. Det här kodexemplet förlitar sig på att egenskapsinställningarna har serialiserats med ObjectStateFormatter klassen, enligt Serialize(Object) metoden.

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

Kommentarer

Alla objekttillståndsdiagram som serialiseras med Serialize metoden kan deserialiseras med Deserialize metoden. Metoden Deserialize(String) används för att återställa ett objekttillståndsdiagram som lagras i ett base64-kodat strängformulär.

Important

Det är en säkerhetsrisk att anropa den här metoden med data som inte är betrodda. Anropa endast den här metoden med betrodda data. För mer information, se Verifiera alla indata.

Gäller för