ObjectStateFormatter.Deserialize Método
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
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.