ObjectStateFormatter.Deserialize Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Desserializa um grafo de estado de objeto do formulário serializado.
Sobrecargas
| Nome | Description |
|---|---|
| Deserialize(Stream) |
Desserializa um grafo de estado de objeto de seu formulário serializado binário contido no objeto especificado Stream . |
| Deserialize(String) |
Desserializa um grafo de estado de objeto de seu formulário de cadeia de caracteres serializado codificado em base64. |
Comentários
Importante
Chamar esse método com dados não confiáveis é um risco à segurança. Chame esse método apenas com dados confiáveis. Para obter mais informações, consulte Validar Todas as Entradas.
Deserialize(Stream)
Desserializa um grafo de estado de objeto de seu formulário serializado binário contido 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 em um inicializado object.
Retornos
Um objeto que representa um grafo de estado de objeto desserializado.
Exceções
O especificado inputStream é null.
Uma exceção ocorre durante a desserialização do Stream. A mensagem de exceção é acrescentada à mensagem do ArgumentException.
Exemplos
O exemplo de código a seguir demonstra como uma classe derivada 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 arquivo usando a ObjectStateFormatter classe. Quando o Load método é chamado, o Deserialize(Stream) método é usado para desserializar o estado da exibição do arquivo 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
Comentários
Qualquer grafo de estado de objeto serializado com o Serialize método pode ser desserializado com o Deserialize método. O Deserialize(Stream) método é usado para restaurar um grafo de estado de objeto armazenado em um Stream, como um FileStream.
Importante
Chamar esse método com dados não confiáveis é um risco à segurança. Chame esse método apenas com dados confiáveis. Para obter mais informações, consulte Validar Todas as Entradas.
Aplica-se a
Deserialize(String)
Desserializa um grafo de estado de objeto de seu formulário de cadeia de caracteres serializado codificado em 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
Parâmetros
- inputString
- String
Uma cadeia de caracteres que o ObjectStateFormatter desserializa em um objeto inicializado.
Retornos
Um objeto que representa um grafo de estado de objeto desserializado.
Exceções
O especificado inputString é null ou tem um Length de 0.
Os dados serializados são inválidos.
A verificação de validação do MAC (código de autenticação do computador) que é executada ao desserializar o estado da exibição falha.
Exemplos
O exemplo de código a seguir demonstra como implementar um método que desserializa uma cadeia de caracteres codificada em base64 e retorna uma ICollection coleção de configurações de propriedade. Este exemplo de código depende das configurações de propriedade que foram serializadas com a ObjectStateFormatter classe, conforme 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
Comentários
Qualquer grafo de estado de objeto serializado com o Serialize método pode ser desserializado com o Deserialize método. O Deserialize(String) método é usado para restaurar um grafo de estado do objeto armazenado no formulário de cadeia de caracteres codificado em base64.
Importante
Chamar esse método com dados não confiáveis é um risco à segurança. Chame esse método apenas com dados confiáveis. Para obter mais informações, consulte Validar Todas as Entradas.