ObjectStateFormatter.Serialize 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.
Serializa um grafo de estado do objeto.
Sobrecargas
Serialize(Object) |
Serializa um grafo de estado de objeto para uma cadeia de caracteres codificada em base64. |
Serialize(Stream, Object) |
Serializa um grafo de estado do objeto para o objeto Stream especificado. |
Serialize(Object)
Serializa um grafo de estado de objeto para uma cadeia de caracteres codificada em base64.
public:
System::String ^ Serialize(System::Object ^ stateGraph);
public string Serialize (object stateGraph);
member this.Serialize : obj -> string
Public Function Serialize (stateGraph As Object) As String
Parâmetros
- stateGraph
- Object
O objeto a ser serializado.
Retornos
Uma cadeia de caracteres codificada em base64 que representa o estado de objeto serializado do parâmetro stateGraph
.
Exemplos
O exemplo de código a seguir demonstra como serializar os valores de um conjunto de propriedades de controle para uma cadeia de caracteres codificada em base64 usando o Serialize(Object) método. A cadeia de caracteres pode ser desserializada posteriormente com o Deserialize(String) método.
ArrayList controlProperties = new ArrayList(3);
controlProperties.Add( SortDirection );
controlProperties.Add( SelectedColumn );
controlProperties.Add( CurrentPage.ToString() );
// Create an ObjectStateFormatter to serialize the ArrayList.
ObjectStateFormatter formatter = new ObjectStateFormatter();
// Call the Serialize method to serialize the ArrayList to a Base64 encoded string.
string base64StateString = formatter.Serialize(controlProperties);
Dim controlProperties As New ArrayList(3)
controlProperties.Add(SortDirection)
controlProperties.Add(SelectedColumn)
controlProperties.Add(CurrentPage.ToString())
' Create an ObjectStateFormatter to serialize the ArrayList.
Dim formatter As New ObjectStateFormatter()
' Call the Serialize method to serialize the ArrayList to a Base64 encoded string.
Dim base64StateString As String = formatter.Serialize(controlProperties)
Comentários
Qualquer grafo de objeto serializado com o Serialize método pode ser desserializado com o Deserialize método. O Serialize(Object) método é usado para serializar um grafo de estado de objeto para um formulário de cadeia de caracteres codificado em base64.
Aplica-se a
Serialize(Stream, Object)
Serializa um grafo de estado do objeto para o objeto Stream especificado.
public:
void Serialize(System::IO::Stream ^ outputStream, System::Object ^ stateGraph);
public void Serialize (System.IO.Stream outputStream, object stateGraph);
member this.Serialize : System.IO.Stream * obj -> unit
Public Sub Serialize (outputStream As Stream, stateGraph As Object)
Parâmetros
- outputStream
- Stream
Um Stream ao qual o ObjectStateFormatter serializa o estado do objeto especificado.
- stateGraph
- Object
O objeto a ser serializado.
Exceções
O outputStream
especificado é null
.
Exemplos
O exemplo de código a seguir demonstra como uma classe recupera uma ObjectStateFormatter instância para serializar o estado de exibição e o estado de controle para um fluxo usando o Serialize(Stream, Object) método. Este exemplo de código faz parte de um exemplo maior fornecido para a PageStatePersister classe.
//
// Persist any ViewState and ControlState.
//
public override void Save()
{
if (ViewState != null || ControlState != null)
{
if (Page.Session != null)
{
Stream stateStream = GetSecureStream();
StreamWriter writer = new StreamWriter(stateStream);
IStateFormatter formatter = this.StateFormatter;
Pair statePair = new Pair(ViewState, ControlState);
// Serialize the statePair object to a string.
string serializedState = formatter.Serialize(statePair);
writer.Write(serializedState);
writer.Close();
stateStream.Close();
}
else
{
throw new InvalidOperationException("Session needed for StreamPageStatePersister.");
}
}
}
'
' Persist any ViewState and ControlState.
'
Public Overrides Sub Save()
If Not (ViewState Is Nothing) OrElse Not (ControlState Is Nothing) Then
If Not (Page.Session Is Nothing) Then
Dim stateStream As Stream
stateStream = GetSecureStream()
' Write a state string, using the StateFormatter.
Dim writer As New StreamWriter(stateStream)
Dim formatter As IStateFormatter
formatter = Me.StateFormatter
Dim statePair As New Pair(ViewState, ControlState)
Dim serializedState As String
serializedState = formatter.Serialize(statePair)
writer.Write(serializedState)
writer.Close()
stateStream.Close()
Else
Throw New InvalidOperationException("Session needed for StreamPageStatePersister.")
End If
End If
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 Serialize(Stream, Object) método é usado para serializar um grafo de estado de objeto em um objeto binário Stream .