ObjectStateFormatter.Deserialize Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Deserializza il grafico sullo stato di un oggetto a partire dal formato serializzato.
Overload
Deserialize(Stream) |
Deserializza un grafico sullo stato di un oggetto dallo stato serializzato con formato binario incluso nell'oggetto Stream specificato. |
Deserialize(String) |
Deserializza il grafico sullo stato di un oggetto a partire dal formato stringa serializzato con codifica Base64. |
Commenti
Importante
La chiamata a questo metodo con dati non attendibili costituisce 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 sullo stato di un oggetto dallo stato serializzato con formato binario incluso nell'oggetto Stream specificato.
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
Classe Stream che viene deserializzata dalla classe ObjectStateFormatter in un object
inizializzato.
Restituisce
Oggetto che rappresenta il grafico sullo stato di un oggetto deserializzato.
Eccezioni
Il valore specificato per il parametro inputStream
è null
.
Durante la deserializzazione della classe Stream viene generata un'eccezione. Il messaggio relativo all'eccezione viene aggiunto al messaggio della classe ArgumentException.
Esempio
Nell'esempio di codice seguente viene illustrato come una classe che deriva dalla classe inizializza la PageStatePersisterViewState raccolta. In questo esempio la ViewState raccolta è stata assegnata al First campo di un oggetto e serializzata in un Pair file usando la ObjectStateFormatter classe . Quando viene chiamato il metodo, il LoadDeserialize(Stream) metodo viene usato per deserializzare lo stato di visualizzazione dal file e la ViewState proprietà viene inizializzata. Questo esempio di codice fa parte di un esempio più grande 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 costituisce 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 il grafico sullo stato di un oggetto a partire dal formato stringa serializzato con codifica Base64.
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 ObjectStateFormatter deserializza in un oggetto inizializzato.
Restituisce
Oggetto che rappresenta il grafico sullo stato di un oggetto deserializzato.
Eccezioni
Il parametro inputString
specificato è null
o la relativa proprietà Length è impostata su 0.
I dati serializzati non sono validi.
Impossibile eseguire il controllo di convalida MAC (Machine Authentication Code) eseguito durante la deserializzazione dello stato di visualizzazione.
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 costituisce un rischio per la sicurezza. Chiamare questo metodo solo con dati attendibili. Per altre informazioni, vedere Convalidare tutti gli input.