Condividi tramite


PageStatePersister.Save Metodo

Definizione

Le classi derivate eseguono l'override di questo metodo per serializzare informazioni persistenti sullo stato quando un oggetto Page viene scaricato dalla memoria.

public:
 abstract void Save();
public abstract void Save ();
abstract member Save : unit -> unit
Public MustOverride Sub Save ()

Esempio

Nell'esempio PageStatePersister di codice seguente viene illustrato come una classe derivata dalla classe implementa il metodo per rendere permanente lo Save stato di visualizzazione a un supporto di persistenza. Usa StreamPageStatePersister un IStateFormatter oggetto per serializzare il contenuto della proprietà e ControlState della ViewState proprietà. Questo esempio di codice fa parte di un esempio più grande fornito per 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

Commenti

Le classi che derivano dalla PageStatePersister classe implementano il Save metodo per rendere persistente il contenuto delle proprietà e ControlState a un supporto di ViewState persistenza.

Si applica a