Compartilhar via


ObjectStateFormatter.Serialize Método

Definição

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

String

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 .

Aplica-se a