ObjectStateFormatter.Serialize Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Выполняет сериализацию графа состояния объекта.
Перегрузки
Serialize(Object) |
Выполняет сериализацию графа состояния объекта в строку на основе 64-разрядной кодировки. |
Serialize(Stream, Object) |
Выполняет сериализацию графа состояния объекта в указанный объект Stream. |
Serialize(Object)
Выполняет сериализацию графа состояния объекта в строку на основе 64-разрядной кодировки.
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
Объект для сериализации.
Возвращаемое значение
Строка на основе 64-разрядной кодировки представляет сериализованное состояние объекта параметра stateGraph
.
Примеры
В следующем примере кода показано, как сериализовать значения набора свойств элемента управления в строку в кодировке 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
Объект 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 объект.