Condividi tramite


ObjectStateFormatter.Deserialize Metodo

Definizione

Deserializza un grafico dello stato dell'oggetto dal formato serializzato.

Overload

Nome Descrizione
Deserialize(Stream)

Deserializza un grafico dello stato dell'oggetto dal formato serializzato binario contenuto nell'oggetto specificato Stream .

Deserialize(String)

Deserializza un grafico dello stato dell'oggetto dal formato stringa con codifica base64 serializzato.

Commenti

Importante

La chiamata a questo metodo con dati non attendibili è un rischio per la sicurezza. Chiamare questo metodo solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.

Deserialize(Stream)

Deserializza un grafico dello stato dell'oggetto dal formato serializzato binario contenuto nell'oggetto specificato Stream .

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

Parametri

inputStream
Stream

Oggetto Stream che deserializza ObjectStateFormatter in un oggetto inizializzato object.

Restituisce

Oggetto che rappresenta un grafico dello stato dell'oggetto deserializzato.

Eccezioni

L'oggetto specificato inputStream è null.

Si verifica un'eccezione durante la deserializzazione dell'oggetto Stream. Il messaggio di eccezione viene aggiunto al messaggio dell'oggetto ArgumentException.

Esempio

Nell'esempio di codice seguente viene illustrato come una classe che deriva dalla PageStatePersister classe inizializza la ViewState raccolta. In questo esempio, l'insieme ViewState è stato assegnato al First campo di un Pair oggetto e serializzato in un file usando la ObjectStateFormatter classe . Quando viene chiamato il Load metodo , il Deserialize(Stream) metodo viene utilizzato per deserializzare lo stato di visualizzazione dal file e la ViewState proprietà viene inizializzata. Questo esempio di codice fa parte di un esempio più ampio fornito per la PageStatePersister classe .

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

Commenti

Qualsiasi grafico dello stato dell'oggetto serializzato con il Serialize metodo può essere deserializzato con il Deserialize metodo . Il Deserialize(Stream) metodo viene usato per ripristinare un grafico dello stato dell'oggetto archiviato in un Streamoggetto , ad esempio .FileStream

Importante

La chiamata a questo metodo con dati non attendibili è un rischio per la sicurezza. Chiamare questo metodo solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.

Si applica a

Deserialize(String)

Deserializza un grafico dello stato dell'oggetto dal formato stringa con codifica base64 serializzato.

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

Parametri

inputString
String

Stringa che l'oggetto ObjectStateFormatter deserializza in un oggetto inizializzato.

Restituisce

Oggetto che rappresenta un grafico dello stato dell'oggetto deserializzato.

Eccezioni

L'oggetto specificato inputString è null o ha un Length valore pari a 0.

I dati serializzati non sono validi.

Il controllo di convalida del codice di autenticazione del computer (MAC) eseguito durante la deserializzazione dello stato di visualizzazione ha esito negativo.

Esempio

Nell'esempio di codice seguente viene illustrato come implementare un metodo che deserializza una stringa con codifica base64 e restituisce una ICollection raccolta di impostazioni delle proprietà. Questo esempio di codice si basa sulle impostazioni delle proprietà che sono state serializzate con la ObjectStateFormatter classe , come illustrato nel Serialize(Object) metodo .

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

Commenti

Qualsiasi grafico dello stato dell'oggetto serializzato con il Serialize metodo può essere deserializzato con il Deserialize metodo . Il Deserialize(String) metodo viene usato per ripristinare un grafico dello stato dell'oggetto archiviato in formato stringa con codifica Base64.

Importante

La chiamata a questo metodo con dati non attendibili è un rischio per la sicurezza. Chiamare questo metodo solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.

Si applica a