C# Class MvvmCross.WindowsCommon.Views.Suspension.MvxSuspensionManager

MvxSuspensionManager captures global session state to simplify process lifetime management for an application. Note that session state will be automatically cleared under a variety of conditions and should only be used to store information that would be convenient to carry across sessions, but that should be discarded when an application crashes or is upgraded.
Inheritance: IMvxSuspensionManager
Show file Open project: MvvmCross/MvvmCross

Public Methods

Method Description
RegisterFrame ( IMvxWindowsFrame frame, String sessionStateKey ) : void

Registers a Frame instance to allow its navigation history to be saved to and restored from SessionState. Frames should be registered once immediately after creation if they will participate in session state management. Upon registration if state has already been restored for the specified key the navigation history will immediately be restored. Subsequent invocations of RestoreAsync will also restore navigation history.

RestoreAsync ( ) : System.Threading.Tasks.Task

Restores previously saved SessionState. Any Frame instances registered with RegisterFrame will also restore their prior navigation state, which in turn gives their active Page an opportunity restore its state.

SaveAsync ( ) : System.Threading.Tasks.Task

Save the current SessionState. Any Frame instances registered with RegisterFrame will also preserve their current navigation stack, which in turn gives their active Page an opportunity to save its state.

SessionStateForFrame ( IMvxWindowsFrame frame ) : Object>.Dictionary

Provides storage for session state associated with the specified Frame. Frames that have been previously registered with RegisterFrame have their session state saved and restored automatically as a part of the global SessionState. Frames that are not registered have transient state that can still be useful when restoring pages that have been discarded from the navigation cache.

Apps may choose to rely on LayoutAwarePage to manage page-specific state instead of working with frame session state directly.

UnregisterFrame ( IMvxWindowsFrame frame ) : void

Disassociates a Frame previously registered by RegisterFrame from SessionState. Any navigation state previously captured will be removed.

Private Methods

Method Description
RestoreFrameNavigationState ( IMvxWindowsFrame frame ) : void
SaveFrameNavigationState ( IMvxWindowsFrame frame ) : void

Method Details

RegisterFrame() public method

Registers a Frame instance to allow its navigation history to be saved to and restored from SessionState. Frames should be registered once immediately after creation if they will participate in session state management. Upon registration if state has already been restored for the specified key the navigation history will immediately be restored. Subsequent invocations of RestoreAsync will also restore navigation history.
public RegisterFrame ( IMvxWindowsFrame frame, String sessionStateKey ) : void
frame IMvxWindowsFrame An instance whose navigation history should be managed by ///
sessionStateKey String A unique key into used to /// store navigation-related information.
return void

RestoreAsync() public method

Restores previously saved SessionState. Any Frame instances registered with RegisterFrame will also restore their prior navigation state, which in turn gives their active Page an opportunity restore its state.
public RestoreAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

SaveAsync() public method

Save the current SessionState. Any Frame instances registered with RegisterFrame will also preserve their current navigation stack, which in turn gives their active Page an opportunity to save its state.
public SaveAsync ( ) : System.Threading.Tasks.Task
return System.Threading.Tasks.Task

SessionStateForFrame() public method

Provides storage for session state associated with the specified Frame. Frames that have been previously registered with RegisterFrame have their session state saved and restored automatically as a part of the global SessionState. Frames that are not registered have transient state that can still be useful when restoring pages that have been discarded from the navigation cache.
Apps may choose to rely on LayoutAwarePage to manage page-specific state instead of working with frame session state directly.
public SessionStateForFrame ( IMvxWindowsFrame frame ) : Object>.Dictionary
frame IMvxWindowsFrame The instance for which session state is desired.
return Object>.Dictionary

UnregisterFrame() public method

Disassociates a Frame previously registered by RegisterFrame from SessionState. Any navigation state previously captured will be removed.
public UnregisterFrame ( IMvxWindowsFrame frame ) : void
frame IMvxWindowsFrame An instance whose navigation history should no longer be /// managed.
return void