ObjectStateFormatter ObjectStateFormatter ObjectStateFormatter ObjectStateFormatter Class

Definition

Serialisiert und deserialisiert Objektdiagramme, die den Zustand eines Objekts darstellen.Serializes and deserializes object graphs that represent the state of an object. Diese Klasse kann nicht vererbt werden.This class cannot be inherited.

public ref class ObjectStateFormatter sealed : System::Runtime::Serialization::IFormatter
public sealed class ObjectStateFormatter : System.Runtime.Serialization.IFormatter
type ObjectStateFormatter = class
    interface IStateFormatter
    interface IFormatter
Public NotInheritable Class ObjectStateFormatter
Implements IFormatter
Vererbung
ObjectStateFormatterObjectStateFormatterObjectStateFormatterObjectStateFormatter
Implementiert

Beispiele

Das folgende Codebeispiel veranschaulicht, wie eine Klasse, die von PageStatePersister der-Klasse StateFormatter abgeleitet wird, auf ObjectStateFormatter die-Eigenschaft zugreift, um eine-Instanz zum Serialisieren des Ansichts Zustands und des Steuerungs Zustands in einen StreamThe following code example demonstrates how a class that derives from the PageStatePersister class accesses the StateFormatter property to retrieve an ObjectStateFormatter instance to serialize view state and control state to a stream. Dieses Codebeispiel ist Teil eines größeren Beispiels, das für die PageStatePersister -Klasse bereitgestellt wird.This code example is part of a larger example provided for the PageStatePersister class.

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

Hinweise

Die ObjectStateFormatter -Klasse serialisiert und deserialisiert Objektstatus Diagramme in einem Compact-Format.The ObjectStateFormatter class serializes and deserializes object state graphs in a compact format.

ObjectStateFormatterwird von der PageStatePersister -Klasse und Klassen, die davon abgeleitet sind, zum Serialisieren des Ansichts Zustands und des Steuerungs Zustands verwendet.ObjectStateFormatter is used by the PageStatePersister class and classes that derive from it to serialize view state and control state. Sie wird auch von der- LosFormatter Klasse verwendet, um die Formatierung des Objektstatus Diagramms für verschiedene Teile der ASP.NET-Infrastruktur bereitzustellen.It is also used by the LosFormatter class to provide object state graph formatting for various parts of the ASP.NET infrastructure.

Die ObjectStateFormatter -Klasse ist für das Serialisieren und Formatieren von vielen allgemeinen .NET Framework Verweis Typen sowie von Konstanten optimiert.The ObjectStateFormatter class is optimized to serialize and format many common .NET Framework reference types, as well as constants. In der folgenden Tabelle werden die Typen aufgelistet, die optimiert werden.The following table lists the types that are optimized.

Array DateTime Int16 String
ArrayList Double Int32 Zeichenfolge []String []
Boolean Enum NULL (Nothing)null (Nothing) String.Empty
Byte Hashtable Pair Triplet
Char HybridDictionary Single Type
Color IDictionary

Außerdem werden beim Schreiben herkömmlicher Zeichen folgen Typen und Zeichen folgen Arrays in einen und aus einem serialisierten binären Writer nicht geänderte Zeichen folgen durch Erstellen interner Zeichen folgen Tabellen optimiert.Additionally, while conventional string types and string arrays are written to and from a serialized binary writer unaltered, some strings are optimized by creating internal string tables. Zeichen folgen werden mithilfe dieser Tabellen optimiert, wenn die Zeichenfolge TypeConverter über ein zugeordnetes-Objekt verfügt oder wenn die IndexedString Zeichenfolge tatsächlich eine Instanz der-Klasse ist.Strings are optimized using these tables if the string has an associated TypeConverter object or if the string is actually an instance of the IndexedString class.

Andere nicht aufgelistete Typen werden mithilfe eines BinaryFormatter -Objekts binär serialisiert, wenn Sie die ISerializable -Schnittstelle implementieren oder SerializableAttribute mit dem-Attribut ergänzt werden.Other types not listed above are binary-serialized using a BinaryFormatter object if they implement the ISerializable interface or are decorated with the SerializableAttribute attribute. Die ObjectStateFormatter -Klasse ist für diese serialisierbaren Typen nicht optimiert.The ObjectStateFormatter class is not optimized for any of these serializable types.

Wenn die ObjectStateFormatter Klasse auf einen Typ stößt, der nicht serialisierbar ist ArgumentException , wird eine Ausnahme ausgelöst.If the ObjectStateFormatter class encounters a type that is not serializable, an ArgumentException exception is thrown.

Konstruktoren

ObjectStateFormatter() ObjectStateFormatter() ObjectStateFormatter() ObjectStateFormatter()

Initialisiert eine neue Instanz der ObjectStateFormatter-Klasse.Initializes a new instance of the ObjectStateFormatter class.

Methoden

Deserialize(Stream) Deserialize(Stream) Deserialize(Stream) Deserialize(Stream)

Deserialisiert einen Objektzustandsgraphen aus seiner binär serialisierten Form, der im angegebenen Stream-Objekt enthalten ist.Deserializes an object state graph from its binary-serialized form that is contained in the specified Stream object.

Deserialize(String) Deserialize(String) Deserialize(String) Deserialize(String)

Deserialisiert einen Objektzustandsgraphen aus seiner serialisierten Base64-codierten Zeichenfolgenform.Deserializes an object state graph from its serialized base64-encoded string form.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

Bestimmt, ob das angegebene Objekt mit dem aktuellen Objekt identisch ist.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

Fungiert als Standardhashfunktion.Serves as the default hash function.

(Inherited from Object)
GetType() GetType() GetType() GetType()

Ruft den Type der aktuellen Instanz ab.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

Erstellt eine flache Kopie des aktuellen Object.Creates a shallow copy of the current Object.

(Inherited from Object)
Serialize(Object) Serialize(Object) Serialize(Object) Serialize(Object)

Serialisiert einen Objektzustandsgraphen in eine Base64-codierte Zeichenfolge.Serializes an object state graph to a base64-encoded string.

Serialize(Stream, Object) Serialize(Stream, Object) Serialize(Stream, Object) Serialize(Stream, Object)

Serialisiert einen Objektzustandsgraphen in das angegebene Stream-Objekt.Serializes an object state graph to the specified Stream object.

ToString() ToString() ToString() ToString()

Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt.Returns a string that represents the current object.

(Inherited from Object)

Explizite Schnittstellenimplementierungen

IFormatter.Binder IFormatter.Binder IFormatter.Binder IFormatter.Binder

Eine Beschreibung dieses Members finden Sie unter Binder.For a description of this member, see Binder.

IFormatter.Context IFormatter.Context IFormatter.Context IFormatter.Context

Eine Beschreibung dieses Members finden Sie unter Context.For a description of this member, see Context.

IFormatter.Deserialize(Stream) IFormatter.Deserialize(Stream) IFormatter.Deserialize(Stream) IFormatter.Deserialize(Stream)

Eine Beschreibung dieses Elements finden Sie unter Deserialize(Stream).For a description of this member, see Deserialize(Stream).

IFormatter.Serialize(Stream, Object) IFormatter.Serialize(Stream, Object) IFormatter.Serialize(Stream, Object) IFormatter.Serialize(Stream, Object)

Eine Beschreibung dieses Members finden Sie unter Serialize(Stream, Object).For a description of this member, see Serialize(Stream, Object).

IFormatter.SurrogateSelector IFormatter.SurrogateSelector IFormatter.SurrogateSelector IFormatter.SurrogateSelector

Eine Beschreibung dieses Members finden Sie unter SurrogateSelector.For a description of this member, see SurrogateSelector.

IStateFormatter.Deserialize(String) IStateFormatter.Deserialize(String) IStateFormatter.Deserialize(String) IStateFormatter.Deserialize(String)

Eine Beschreibung dieses Members finden Sie unter Deserialize(String).For a description of this member, see Deserialize(String).

IStateFormatter.Serialize(Object) IStateFormatter.Serialize(Object) IStateFormatter.Serialize(Object) IStateFormatter.Serialize(Object)

Eine Beschreibung dieses Elements finden Sie unter Serialize(Object).For a description of this member, see Serialize(Object).

Gilt für: