Udostępnij za pośrednictwem


ObjectStateFormatter.Serialize Metoda

Definicja

Serializuje wykres stanu obiektu.

Przeciążenia

Serialize(Object)

Serializuje wykres stanu obiektu na ciąg zakodowany w formacie base64.

Serialize(Stream, Object)

Serializuje wykres stanu obiektu do określonego Stream obiektu.

Serialize(Object)

Serializuje wykres stanu obiektu na ciąg zakodowany w formacie 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

Parametry

stateGraph
Object

Obiekt do serializacji.

Zwraca

String

Ciąg zakodowany w formacie base-64, który reprezentuje serializowany stan obiektu parametru stateGraph .

Przykłady

W poniższym przykładzie kodu pokazano, jak serializować wartości zestawu właściwości kontrolki na ciąg zakodowany w formacie base64 przy użyciu Serialize(Object) metody . Ciąg można deserializacji w późniejszym czasie za pomocą Deserialize(String) metody .


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)

Uwagi

Każdy graf obiektu, który jest serializowany za Serialize pomocą metody, można deserializować za pomocą Deserialize metody . Metoda Serialize(Object) służy do serializacji grafu stanu obiektu do formularza ciągu zakodowanego w formacie base64.

Dotyczy

Serialize(Stream, Object)

Serializuje wykres stanu obiektu do określonego Stream obiektu.

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)

Parametry

outputStream
Stream

A Stream , do którego ObjectStateFormatter serializuje stan określonego obiektu.

stateGraph
Object

Obiekt do serializacji.

Wyjątki

Określona outputStream wartość to null.

Przykłady

W poniższym przykładzie kodu pokazano, jak klasa pobiera ObjectStateFormatter wystąpienie w celu serializacji stanu widoku i stanu sterowania do strumienia Serialize(Stream, Object) przy użyciu metody . Ten przykład kodu jest częścią większego przykładu podanego PageStatePersister dla klasy.

//
// 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

Uwagi

Każdy wykres stanu obiektu, który jest serializowany za Serialize pomocą metody, można deserializować za pomocą Deserialize metody . Metoda Serialize(Stream, Object) służy do serializacji grafu stanu obiektu do obiektu binarnego Stream .

Dotyczy