ObjectStateFormatter Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Sérialise et désérialise des graphiques d’objets qui représentent l’état d’un objet. Cette classe ne peut pas être héritée.
public ref class ObjectStateFormatter sealed : System::Runtime::Serialization::IFormatter, System::Web::UI::IStateFormatter
public ref class ObjectStateFormatter sealed : System::Runtime::Serialization::IFormatter
public sealed class ObjectStateFormatter : System.Runtime.Serialization.IFormatter, System.Web.UI.IStateFormatter
public sealed class ObjectStateFormatter : System.Runtime.Serialization.IFormatter
type ObjectStateFormatter = class
interface IStateFormatter
interface IFormatter
Public NotInheritable Class ObjectStateFormatter
Implements IFormatter, IStateFormatter
Public NotInheritable Class ObjectStateFormatter
Implements IFormatter
- Héritage
-
ObjectStateFormatter
- Implémente
Exemples
L’exemple de code suivant montre comment une classe dérivée de la classe accède à la PageStatePersister StateFormatter propriété pour récupérer une ObjectStateFormatter instance pour sérialiser l’état d’affichage et l’état de contrôle dans un flux. Cet exemple de code fait partie d’un exemple plus grand fourni pour la PageStatePersister classe.
//
// 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
Remarques
Avertissement
BinaryFormatter
n’est pas sécurisé et ne peut pas être sécurisé. Pour plus d’informations, consultez le Guide de sécurité BinaryFormatter.
La ObjectStateFormatter classe sérialise et désérialise les graphiques d’état d’objet dans un format compact.
ObjectStateFormatter est utilisé par la classe et les PageStatePersister classes qui dérivent de celui-ci pour sérialiser l’état d’affichage et l’état de contrôle. Il est également utilisé par la LosFormatter classe pour fournir une mise en forme de graphique d’état objet pour différentes parties de l’infrastructure ASP.NET.
La ObjectStateFormatter classe est optimisée pour sérialiser et mettre en forme de nombreux types de référence courants .NET Framework, ainsi que des constantes. Le tableau suivant répertorie les types optimisés.
Array | DateTime | Int16 | String |
ArrayList | Double | Int32 | Chaîne [] |
Boolean | Enum | Null (Nothing ) |
String.Empty |
Byte | Hashtable | Pair | Triplet |
Char | HybridDictionary | Single | Type |
Color | IDictionary |
En outre, tandis que les types de chaînes classiques et les tableaux de chaînes sont écrits dans et à partir d’un enregistreur binaire sérialisé non affecté, certaines chaînes sont optimisées en créant des tables de chaînes internes. Les chaînes sont optimisées à l’aide de ces tables si la chaîne a un objet associé TypeConverter ou si la chaîne est en fait une instance de la IndexedString classe.
Les autres types non répertoriés ci-dessus sont sérialisés binairement à l’aide d’un BinaryFormatter objet s’ils implémentent l’interface ISerializable ou sont décorés avec l’attribut SerializableAttribute . La ObjectStateFormatter classe n’est pas optimisée pour l’un de ces types sérialisables.
Si la ObjectStateFormatter classe rencontre un type qui n’est pas sérialisable, une ArgumentException exception est levée.
Constructeurs
ObjectStateFormatter() |
Initialise une nouvelle instance de la classe ObjectStateFormatter. |
Méthodes
Deserialize(Stream) |
Désérialise un graphique d'état d'objet issu de son formulaire sérialisé en binaire, contenu dans l'objet Stream spécifié. |
Deserialize(String) |
Désérialise un graphique d'état d'objet à partir de sa forme de chaîne sérialisée encodée en base 64. |
Equals(Object) |
Détermine si l'objet spécifié est égal à l'objet actuel. (Hérité de Object) |
GetHashCode() |
Fait office de fonction de hachage par défaut. (Hérité de Object) |
GetType() |
Obtient le Type de l'instance actuelle. (Hérité de Object) |
MemberwiseClone() |
Crée une copie superficielle du Object actuel. (Hérité de Object) |
Serialize(Object) |
Sérialise un graphique d'état d'objet dans une chaîne encodée en base 64. |
Serialize(Stream, Object) |
Sérialise un graphique d'état d'objet dans l'objet Stream spécifié. |
ToString() |
Retourne une chaîne qui représente l'objet actuel. (Hérité de Object) |
Implémentations d’interfaces explicites
IFormatter.Binder |
Pour obtenir une description de ce membre, consultez Binder. |
IFormatter.Context |
Pour obtenir une description de ce membre, consultez Context. |
IFormatter.Deserialize(Stream) |
Pour obtenir une description de ce membre, consultez Deserialize(Stream). |
IFormatter.Serialize(Stream, Object) |
Pour obtenir une description de ce membre, consultez Serialize(Stream, Object). |
IFormatter.SurrogateSelector |
Pour obtenir une description de ce membre, consultez SurrogateSelector. |
IStateFormatter.Deserialize(String) |
Pour obtenir une description de ce membre, consultez Deserialize(String). |
IStateFormatter.Serialize(Object) |
Pour obtenir une description de ce membre, consultez Serialize(Object). |