aspnet-116408-components-spreadsheet-document-management-document-hibernation.md
The DocumentManager can release server memory from inactive open documents and save them to the server file system. This behavior reduces server memory consumption and prevents the loss of unsaved document changes after IIS recycling. If a user interacts with a hibernated document, DocumentManager restores the document from the file system to the server’s RAM.
EnableHibernationSets whether the document hibernation is enabled. The default value is false.HibernationStoragePathSets the path to the server directory where open documents hibernate after the idle timeout period expires.HibernateTimeoutSets the idle timeout period before DocumentManager hibernates an open document. The default value is TimeSpan.FromHours(1).HibernatedDocumentsDisposeTimeoutSets how long DocumentManager stores a hibernated document on the server before disposal. The default value is TimeSpan.FromHours(24).HibernateAllDocumentsOnApplicationEndSets whether DocumentManager should hibernate all open documents if a planned IIS process recycling occurs.
Specify the hibernation settings in the Application_Start method handler in the global.asax file. In this instance, users are not required to reload the page with the Spreadsheet control and can continue to work with the open document even after a server failure.
The following code sample demonstrates how to define the hibernation settings:
using DevExpress.Web.Office;
namespace YOUR_APP_ROOT_NAMESPACE {
public class Global_asax : System.Web.HttpApplication {
void Application_Start(object sender, EventArgs e) {
// Code that runs on application startup
DocumentManager.HibernationStoragePath = Server.MapPath("~/App_Data/HibernationStorage/"); // Required setting
DocumentManager.HibernateTimeout = TimeSpan.FromMinutes(30); // Optional setting
DocumentManager.HibernatedDocumentsDisposeTimeout = TimeSpan.FromDays(1); // Optional setting
DocumentManager.HibernateAllDocumentsOnApplicationEnd = true; // Optional setting
DocumentManager.EnableHibernation = true; // Required setting to turn the hibernation on
}
}
}
Imports DevExpress.Web.Office
Namespace YOUR_APP_ROOT_NAMESPACE
Public Class [Global]
Inherits HttpApplication
Private Sub Application_Start(ByVal sender As Object, ByVal e As EventArgs)
' Code that runs on application startup
DocumentManager.HibernationStoragePath = Server.MapPath("~/App_Data/HibernationStorage/") ' Required setting
DocumentManager.HibernateTimeout = TimeSpan.FromMinutes(30) ' Optional setting
DocumentManager.HibernatedDocumentsDisposeTimeout = TimeSpan.FromDays(1) ' Optional setting
DocumentManager.HibernateAllDocumentsOnApplicationEnd = True ' Optional setting
DocumentManager.EnableHibernation = True ' Required setting to turn the hibernation on
End Sub
End Class
End Namespace
The ASPxSpreadsheet control loses the undo/redo history after hibernation.