ObjectStateFormatter.Serialize Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Serialiserar ett objekttillståndsdiagram.
Överlagringar
| Name | Description |
|---|---|
| Serialize(Object) |
Serialiserar ett objekttillståndsdiagram till en base64-kodad sträng. |
| Serialize(Stream, Object) |
Serialiserar ett objekttillståndsdiagram till det angivna Stream objektet. |
Serialize(Object)
Serialiserar ett objekttillståndsdiagram till en base64-kodad sträng.
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
Parametrar
- stateGraph
- Object
Objektet som ska serialiseras.
Returer
En base-64-kodad sträng som representerar parameterns stateGraph serialiserade objekttillstånd.
Exempel
Följande kodexempel visar hur du serialiserar värdena för en uppsättning kontrollegenskaper till en base64-kodad sträng med hjälp Serialize(Object) av metoden. Strängen kan deserialiseras vid ett senare tillfälle med Deserialize(String) metoden.
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)
Kommentarer
Alla objektdiagram som serialiseras med Serialize metoden kan deserialiseras med Deserialize metoden. Metoden Serialize(Object) används för att serialisera ett objekttillståndsdiagram till ett base64-kodat strängformulär.
Gäller för
Serialize(Stream, Object)
Serialiserar ett objekttillståndsdiagram till det angivna Stream objektet.
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)
Parametrar
- outputStream
- Stream
A Stream som ObjectStateFormatter serialiserar tillståndet för det angivna objektet till.
- stateGraph
- Object
Objektet som ska serialiseras.
Undantag
Den angivna outputStream är null.
Exempel
Följande kodexempel visar hur en klass hämtar en ObjectStateFormatter instans för att serialisera visningstillstånd och kontrolltillstånd till en dataström med hjälp av Serialize(Stream, Object) metoden. Det här kodexemplet är en del av ett större exempel för PageStatePersister klassen.
//
// 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
Kommentarer
Alla objekttillståndsdiagram som serialiseras med Serialize metoden kan deserialiseras med Deserialize metoden. Metoden Serialize(Stream, Object) används för att serialisera ett objekttillståndsdiagram till ett binärt Stream objekt.