ObjectStateFormatter.Serialize 메서드

정의

개체 상태 그래프를 serialize합니다.

오버로드

Name Description
Serialize(Object)

개체 상태 그래프를 base64로 인코딩된 문자열로 직렬화합니다.

Serialize(Stream, Object)

개체 상태 그래프를 지정된 Stream 개체로 직렬화합니다.

Serialize(Object)

개체 상태 그래프를 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

매개 변수

stateGraph
Object

serialize할 개체입니다.

반품

매개 변수의 serialize된 개체 상태를 stateGraph 나타내는 base-64로 인코딩된 문자열입니다.

예제

다음 코드 예제에서는 메서드를 사용 하 여 Serialize(Object) base64로 인코딩된 문자열에 컨트롤 속성 집합의 값을 serialize 하는 방법을 보여 줍니다. 나중에 메서드를 사용하여 문자열을 Deserialize(String) 역직렬화할 수 있습니다.


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)

설명

메서드를 사용하여 직렬화된 모든 개체 그래프는 Serialize 메서드를 사용하여 Deserialize 역직렬화할 수 있습니다. 이 Serialize(Object) 메서드는 개체 상태 그래프를 base64로 인코딩된 문자열 형식으로 serialize하는 데 사용됩니다.

적용 대상

Serialize(Stream, Object)

개체 상태 그래프를 지정된 Stream 개체로 직렬화합니다.

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)

매개 변수

outputStream
Stream

Stream 지정된 개체의 ObjectStateFormatter 상태를 serialize하는 A입니다.

stateGraph
Object

serialize할 개체입니다.

예외

지정된 outputStream 값은 .입니다 null.

예제

다음 코드 예제에서는 클래스가 인스턴스를 ObjectStateFormatter 검색하여 뷰 상태를 serialize하고 메서드를 사용하여 Serialize(Stream, Object) 스트림으로 상태를 제어하는 방법을 보여 줍니다. 이 코드 예제는 클래스에 제공된 더 큰 예제의 PageStatePersister 일부입니다.

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

설명

메서드를 Serialize 사용하여 serialize되는 모든 개체 상태 그래프는 메서드를 사용하여 Deserialize 역직렬화할 수 있습니다. 이 Serialize(Stream, Object) 메서드는 개체 상태 그래프를 이진 Stream 개체로 직렬화하는 데 사용됩니다.

적용 대상