ObjectStateFormatter.Serialize メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
オブジェクトの状態グラフをシリアル化します。
オーバーロード
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
シリアル化するオブジェクト。
戻り値
stateGraph
パラメーターのシリアル化されたオブジェクトの状態を表す base-64 エンコードされた文字列。
例
次のコード例は、このメソッドを使用して、コントロール プロパティのセットの値を base64 でエンコードされた文字列にシリアル化する方法を Serialize(Object) 示しています。 この文字列は、メソッドを使用して後 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(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。
- stateGraph
- Object
シリアル化するオブジェクト。
例外
指定された outputStream
は null
です。
例
次のコード例は、メソッドを使用してビューステートと制御状態を ObjectStateFormatter ストリームにシリアル化するインスタンスをクラスが取得する方法を 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 シリアル化されたオブジェクト状態グラフは、そのメソッドで Deserialize 逆シリアル化できます。 この Serialize(Stream, Object) メソッドは、オブジェクト状態グラフをバイナリ Stream オブジェクトにシリアル化するために使用されます。