ObjectStateFormatter.Deserialize Método

Definição

Desserializa um grafo de estado de objeto a partir da forma serializada.

Sobrecargas

Name Description
Deserialize(Stream)

Desserializa um grafo de estado de objeto a partir da sua forma binária serializada que está contida no objeto especificado Stream .

Deserialize(String)

Desserializa um grafo de estado de objeto a partir da sua forma de string codificada em base64 em série.

Observações

Importante

Chamar este método com dados não confiáveis é um risco de segurança. Chame este método apenas com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.

Deserialize(Stream)

Desserializa um grafo de estado de objeto a partir da sua forma binária serializada que está contida no 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

A Stream que o ObjectStateFormatter desserializa num .object

Devoluções

Um objeto que representa um grafo de estado de objeto desserializado.

Exceções

O especificado inputStream é null.

Uma exceção ocorre durante a deserialização do Stream. A mensagem de exceção é acrescentada à mensagem do ArgumentException.

Exemplos

O exemplo de código seguinte demonstra como uma classe que deriva da PageStatePersister classe inicializa a ViewState coleção. Neste exemplo, a ViewState coleção foi atribuída ao First campo de um Pair objeto e serializada para um ficheiro usando a ObjectStateFormatter classe. Quando o Load método é chamado, é usado Deserialize(Stream) para desserializar o estado da vista do ficheiro, e a ViewState propriedade é inicializada. Este exemplo de código faz parte de um exemplo maior fornecido para a 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

Observações

Qualquer grafo de estado de objeto que seja serializado com o Serialize método pode ser deserializado com o Deserialize método. O Deserialize(Stream) método é usado para restaurar um grafo de estado de objeto armazenado num Stream, como um FileStream.

Importante

Chamar este método com dados não confiáveis é um risco de segurança. Chame este método apenas com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.

Aplica-se a

Deserialize(String)

Desserializa um grafo de estado de objeto a partir da sua forma de string codificada em base64 em série.

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

Uma cadeia que desserializa ObjectStateFormatter num objeto inicializado.

Devoluções

Um objeto que representa um grafo de estado de objeto desserializado.

Exceções

O especificado inputString é null ou tem a Length de 0.

Os dados serializados são inválidos.

A verificação de validação do código de autenticação de máquina (MAC) realizada quando a desserialização do estado da vista falha.

Exemplos

O exemplo de código seguinte demonstra como implementar um método que desserializa uma cadeia codificada em base64 e devolve uma ICollection coleção de definições de propriedades. Este exemplo de código baseia-se nas definições de propriedades terem sido serializadas com a ObjectStateFormatter classe, como mostrado no 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

Observações

Qualquer grafo de estado de objeto que seja serializado com o Serialize método pode ser deserializado com o Deserialize método. O Deserialize(String) método é usado para restaurar um grafo de estado de objeto armazenado em forma de string codificada em base64.

Importante

Chamar este método com dados não confiáveis é um risco de segurança. Chame este método apenas com dados confiáveis. Para obter mais informações, consulte Validar todas as informações inseridas.

Aplica-se a