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 でエンコードされた文字列。
例
次のコード例では、 Serialize(Object) メソッドを使用して、一連のコントロール プロパティの値を base64 でエンコードされた文字列にシリアル化する方法を示します。 文字列は、 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
ObjectStateFormatterが指定したオブジェクトの状態をシリアル化するStream。
- stateGraph
- Object
シリアル化するオブジェクト。
例外
指定した outputStream が null。
例
次のコード例は、Serialize(Stream, Object) メソッドを使用してビューステートと制御状態をストリームにシリアル化するために、クラスがObjectStateFormatter インスタンスを取得する方法を示しています。 このコード例は、 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 オブジェクトにシリアル化するために使用されます。