PageStatePersister.Save Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Este miembro se reemplaza por clases derivadas para serializar la información de estado guardada cuando un objeto Page se descarga de la memoria.
public:
abstract void Save();
public abstract void Save ();
abstract member Save : unit -> unit
Public MustOverride Sub Save ()
Ejemplos
En el ejemplo de código siguiente se muestra cómo una clase que deriva de la PageStatePersister clase implementa el método para conservar el Save estado de vista en un medio de persistencia.
StreamPageStatePersister
utiliza un IStateFormatter objeto para serializar el contenido de la ViewState propiedad y ControlState la propiedad . Este ejemplo de código es parte de un ejemplo mayor proporcionado para la clase 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
Comentarios
Las clases que derivan de la PageStatePersister clase implementan el Save método para conservar el contenido de las ViewState propiedades y ControlState en un medio de persistencia.