ObjectStateFormatter.Deserialize Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Deserializa un gráfico de estado de objeto del formulario serializado.
Sobrecargas
| Nombre | Description |
|---|---|
| Deserialize(Stream) |
Deserializa un grafo de estado de objeto a partir de su forma serializada binaria contenida en el objeto especificado Stream . |
| Deserialize(String) |
Deserializa un grafo de estado de objeto a partir de su forma de cadena codificada en base64 serializada. |
Comentarios
Importante
Llamar a este método con datos que no son de confianza es un riesgo de seguridad. Llame a este método solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.
Deserialize(Stream)
Deserializa un grafo de estado de objeto a partir de su forma serializada binaria contenida en el objeto especificado 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
Parámetros
- inputStream
- Stream
que Stream deserializa ObjectStateFormatter en un objeto inicializado object.
Devoluciones
Objeto que representa un gráfico de estado de objeto deserializado.
Excepciones
El especificado inputStream es null.
Se produce una excepción durante la Streamdeserialización de . El mensaje de excepción se anexa al mensaje de ArgumentException.
Ejemplos
En el ejemplo de código siguiente se muestra cómo una clase que deriva de la PageStatePersister clase inicializa la ViewState colección. En este ejemplo, la ViewState colección se ha asignado al First campo de un Pair objeto y se serializa en un archivo mediante la ObjectStateFormatter clase . Cuando se llama al Load método , el Deserialize(Stream) método se usa para deserializar el estado de vista del archivo y la ViewState propiedad se inicializa. Este ejemplo de código forma parte de un ejemplo más grande proporcionado para la PageStatePersister clase .
//
// 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
Comentarios
Cualquier gráfico de estado de objeto que se serialice con el Serialize método se puede deserializar con el Deserialize método . El Deserialize(Stream) método se usa para restaurar un gráfico de estado de objeto almacenado en , Streamcomo .FileStream
Importante
Llamar a este método con datos que no son de confianza es un riesgo de seguridad. Llame a este método solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.
Se aplica a
Deserialize(String)
Deserializa un grafo de estado de objeto a partir de su forma de cadena codificada en base64 serializada.
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
Parámetros
- inputString
- String
Cadena que deserializa ObjectStateFormatter en un objeto inicializado.
Devoluciones
Objeto que representa un gráfico de estado de objeto deserializado.
Excepciones
El especificado inputString es null o tiene un Length valor de 0.
Los datos serializados no son válidos.
La comprobación de validación del código de autenticación de la máquina (MAC) que se realiza cuando se produce un error en el estado de la vista de deserialización.
Ejemplos
En el ejemplo de código siguiente se muestra cómo implementar un método que deserializa una cadena codificada en base64 y devuelve una ICollection colección de valores de propiedad. Este ejemplo de código se basa en la configuración de propiedad que se ha serializado con la ObjectStateFormatter clase , como se muestra en el Serialize(Object) método .
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
Comentarios
Cualquier gráfico de estado de objeto que se serialice con el Serialize método se puede deserializar con el Deserialize método . El Deserialize(String) método se usa para restaurar un gráfico de estado de objeto almacenado en forma de cadena codificada en base64.
Importante
Llamar a este método con datos que no son de confianza es un riesgo de seguridad. Llame a este método solo con datos de confianza. Para obtener más información, vea Validar todas las entradas.