[Expand]General Information
[Expand]WinForms Controls
[Expand]ASP.NET Controls and MVC Extensions
[Expand]ASP.NET Bootstrap Controls
[Expand]ASP.NET Core Bootstrap Controls
[Expand]WPF Controls
[Expand]Xamarin Controls
[Expand]Windows 10 App Controls
[Expand]Office File API
[Expand]Reporting
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Collapse]Cross-Platform Core Libraries
 [Expand]DevExpress Data Library
 [Expand]DevExpress Pivot Grid Core Library
 [Expand]Miscellaneous
 [Collapse]API Reference
  [Expand]DevExpress.Data
  [Expand]DevExpress.Data.Browsing
  [Expand]DevExpress.Data.Browsing.Design
  [Expand]DevExpress.Data.Camera
  [Expand]DevExpress.Data.Controls
  [Expand]DevExpress.Data.Controls.ExpressionEditor
  [Expand]DevExpress.Data.Entity
  [Expand]DevExpress.Data.Filtering
  [Expand]DevExpress.Data.Filtering.Exceptions
  [Expand]DevExpress.Data.Filtering.Helpers
  [Expand]DevExpress.Data.Linq
  [Expand]DevExpress.Data.ODataLinq
  [Expand]DevExpress.Data.PivotGrid
  [Expand]DevExpress.Data.PLinq
  [Expand]DevExpress.Data.TreeList
  [Expand]DevExpress.Data.Utils
  [Expand]DevExpress.Data.Utils.ServiceModel
  [Expand]DevExpress.Data.WcfLinq
  [Expand]DevExpress.Data.WizardFramework
  [Expand]DevExpress.Data.XtraReports.DataProviders
  [Expand]DevExpress.Data.XtraReports.Labels
  [Expand]DevExpress.Data.XtraReports.ServiceModel
  [Expand]DevExpress.Data.XtraReports.ServiceModel.DataContracts
  [Expand]DevExpress.Data.XtraReports.Wizard
  [Expand]DevExpress.Data.XtraReports.Wizard.Presenters
  [Expand]DevExpress.Data.XtraReports.Wizard.Views
  [Expand]DevExpress.DataAccess
  [Expand]DevExpress.DataAccess.ConnectionParameters
  [Expand]DevExpress.DataAccess.DataFederation
  [Expand]DevExpress.DataAccess.EntityFramework
  [Expand]DevExpress.DataAccess.Excel
  [Expand]DevExpress.DataAccess.ExpressionEditor
  [Expand]DevExpress.DataAccess.Json
  [Expand]DevExpress.DataAccess.Localization
  [Expand]DevExpress.DataAccess.ObjectBinding
  [Expand]DevExpress.DataAccess.Sql
  [Expand]DevExpress.DataAccess.Sql.DataApi
  [Expand]DevExpress.DataAccess.UI
  [Expand]DevExpress.DataAccess.UI.Design
  [Expand]DevExpress.DataAccess.UI.EntityFramework
  [Expand]DevExpress.DataAccess.UI.Excel
  [Expand]DevExpress.DataAccess.UI.Localization
  [Expand]DevExpress.DataAccess.UI.ObjectBinding
  [Expand]DevExpress.DataAccess.UI.Sql
  [Expand]DevExpress.DataAccess.UI.Wizard
  [Expand]DevExpress.DataAccess.UI.Wizard.Services
  [Expand]DevExpress.DataAccess.UI.Wizard.Views
  [Expand]DevExpress.DataAccess.Web
  [Expand]DevExpress.DataAccess.Wizard
  [Expand]DevExpress.DataAccess.Wizard.Model
  [Expand]DevExpress.DataAccess.Wizard.Presenters
  [Expand]DevExpress.DataAccess.Wizard.Services
  [Expand]DevExpress.DataAccess.Wizard.Views
  [Expand]DevExpress.Diagram.Core
  [Expand]DevExpress.Diagram.Core.Layout
  [Expand]DevExpress.Diagram.Core.Localization
  [Expand]DevExpress.Diagram.Core.Shapes
  [Expand]DevExpress.Diagram.Core.Themes
  [Expand]DevExpress.DocumentServices.ServiceModel
  [Expand]DevExpress.DocumentServices.ServiceModel.Client
  [Expand]DevExpress.DocumentServices.ServiceModel.DataContracts
  [Expand]DevExpress.DocumentView
  [Expand]DevExpress.Entity.Model
  [Expand]DevExpress.Entity.ProjectModel
  [Expand]DevExpress.Export
  [Expand]DevExpress.Export.Xl
  [Expand]DevExpress.Map
  [Expand]DevExpress.Mvvm
  [Expand]DevExpress.Mvvm.DataAnnotations
  [Expand]DevExpress.Mvvm.DataModel
  [Expand]DevExpress.Mvvm.Gantt
  [Expand]DevExpress.Mvvm.ModuleInjection
  [Expand]DevExpress.Mvvm.UI
  [Expand]DevExpress.Mvvm.Utils
  [Expand]DevExpress.Mvvm.ViewModel
  [Expand]DevExpress.Office.Crypto
  [Expand]DevExpress.PivotGrid.Printing
  [Expand]DevExpress.Printing
  [Expand]DevExpress.Printing.Core
  [Expand]DevExpress.Printing.ExportHelpers
  [Expand]DevExpress.ReportServer.Printing
  [Expand]DevExpress.ReportServer.Printing.Services
  [Expand]DevExpress.ReportServer.ServiceModel.Client
  [Expand]DevExpress.ReportServer.ServiceModel.ConnectionProviders
  [Expand]DevExpress.ReportServer.ServiceModel.DataContracts
  [Expand]DevExpress.Schedule
  [Expand]DevExpress.Security.Resources
  [Expand]DevExpress.Services
  [Expand]DevExpress.Sparkline
  [Expand]DevExpress.TreeMap
  [Expand]DevExpress.Utils
  [Expand]DevExpress.Utils.Commands
  [Expand]DevExpress.Utils.Controls
  [Expand]DevExpress.Utils.Filtering.Internal
  [Expand]DevExpress.Utils.IoC
  [Expand]DevExpress.Utils.Localization
  [Expand]DevExpress.Utils.Serializing.Helpers
  [Expand]DevExpress.Utils.Svg
  [Expand]DevExpress.WebUtils
  [Expand]DevExpress.Xpf.Core
  [Expand]DevExpress.Xpf.Printing
  [Expand]DevExpress.Xpo
  [Expand]DevExpress.Xpo.DB
  [Expand]DevExpress.Xpo.DB.Exceptions
  [Expand]DevExpress.Xpo.DB.Helpers
  [Expand]DevExpress.Xpo.Helpers
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraCharts.Localization
  [Expand]DevExpress.XtraCharts.Native
  [Expand]DevExpress.XtraCharts.Printing
  [Expand]DevExpress.XtraEditors
  [Expand]DevExpress.XtraEditors.DXErrorProvider
  [Expand]DevExpress.XtraExport.Csv
  [Expand]DevExpress.XtraGauges.Base
  [Expand]DevExpress.XtraGauges.Core
  [Expand]DevExpress.XtraGauges.Core.Base
  [Expand]DevExpress.XtraGauges.Core.Drawing
  [Expand]DevExpress.XtraGauges.Core.Localization
  [Expand]DevExpress.XtraGauges.Core.Model
  [Expand]DevExpress.XtraGauges.Core.Primitive
  [Expand]DevExpress.XtraGrid
  [Expand]DevExpress.XtraPivotGrid
  [Expand]DevExpress.XtraPivotGrid.Customization
  [Expand]DevExpress.XtraPivotGrid.Data
  [Expand]DevExpress.XtraPivotGrid.Localization
  [Expand]DevExpress.XtraPivotGrid.Selection
  [Expand]DevExpress.XtraPrinting
  [Expand]DevExpress.XtraPrinting.BarCode
  [Collapse]DevExpress.XtraPrinting.Caching
   [Collapse]CachedReportSource Class
     CachedReportSource Members
    [Expand]CachedReportSource Constructor
    [Expand]CachedReportSource Methods
   [Expand]CachedReportSourceBase Class
   [Expand]DocumentStorage Class
    DocumentStorageLocation Enumeration
   [Expand]FileDocumentStorage Class
   [Expand]MemoryDocumentStorage Class
  [Expand]DevExpress.XtraPrinting.DataNodes
  [Expand]DevExpress.XtraPrinting.Drawing
  [Expand]DevExpress.XtraPrinting.Export
  [Expand]DevExpress.XtraPrinting.Export.Web
  [Expand]DevExpress.XtraPrinting.Localization
  [Expand]DevExpress.XtraPrinting.Native
  [Expand]DevExpress.XtraPrinting.Shape
  [Expand]DevExpress.XtraPrinting.Shape.Native
  [Expand]DevExpress.XtraPrinting.WebClientUIControl.DataContracts
  [Expand]DevExpress.XtraPrinting.XamlExport
  [Expand]DevExpress.XtraPrintingLinks
  [Expand]DevExpress.XtraReports
  [Expand]DevExpress.XtraReports.Design
  [Expand]DevExpress.XtraReports.Parameters
  [Expand]DevExpress.XtraReports.ReportGeneration
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraScheduler
  [Expand]DevExpress.XtraScheduler.Compatibility
  [Expand]DevExpress.XtraScheduler.Drawing
  [Expand]DevExpress.XtraScheduler.Exchange
  [Expand]DevExpress.XtraScheduler.iCalendar
  [Expand]DevExpress.XtraScheduler.iCalendar.Components
  [Expand]DevExpress.XtraScheduler.Localization
  [Expand]DevExpress.XtraScheduler.Native
  [Expand]DevExpress.XtraScheduler.Outlook
  [Expand]DevExpress.XtraScheduler.Outlook.Interop
  [Expand]DevExpress.XtraScheduler.Reporting
  [Expand]DevExpress.XtraScheduler.Services
  [Expand]DevExpress.XtraScheduler.Services.Implementation
  [Expand]DevExpress.XtraScheduler.Tools
  [Expand]DevExpress.XtraScheduler.UI
  [Expand]DevExpress.XtraScheduler.Xml
  [Expand]DevExpress.XtraSpellChecker
  [Expand]DevExpress.XtraSpellChecker.Rules
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

CachedReportSource Class

A component that manages caching logic and acts like a mediator between a report and a Document Viewer.

Namespace:DevExpress.XtraPrinting.Caching
Assembly:DevExpress.Printing.v19.1.Core.dll

Expanded Syntax

Expanded Remarks

When displaying/printing/exporting huge documents containing thousands of pages, use the CachedReportSource component to avoid memory consumption-related issues. This component generates a report document caching each generated page in the specified storage. The following document storages are available:

You can also implement a custom document storage by inheriting from the DocumentStorage class.

The following code demonstrates how to create a CachedReportSource instance.

When disposing of the CachedReportSource component, the storage it uses is disposed of as well. The storage's content is cleared if DocumentStorage.ClearOnDispose is enabled.

Note

The disposing operation can take some time if it is invoked during document generation, because the CachedReportSourceBase.StopPageBuilding method waits until the currently generated page is ready.

Display Large Reports

To use the CachedReportSource component for displaying a report in a Document Viewer, assign it to the DevExpress.XtraPrinting.Preview.DocumentViewer.DocumentSource (WinForms) / DevExpress.Xpf.DocumentViewer.DocumentViewerControl.DocumentSource (WFP) property. For details, refer to the Quick Start (WinForms) / Quick Start (WPF) section.

Tip

The document created by a CachedReportSource component is regenerated each time an end user edits it in a Document Viewer (when changing margins, a paper format or watermark).

Merge Large Reports

When merging a large document with another document, use the CachedReportSource component's CachedReportSourceBase.CreateDocument method to generate the document and the CachedReportSourceBase.ModifyDocument method to manipulate with the page set of the generated document.

Print and Export Large Reports

To print or export a large document in code without displaying it in a Document View, generate the document using the CachedReportSource component's CachedReportSourceBase.CreateDocument method and access the document's Printing System and its printing and exporting methods using the CachedReportSourceBase.PrintingSystem property.

Use Caching in Web Reporting Applications

Use the CachedReportSource class in WinForms and WPF reporting applications. To utilize document caching in Web applications, use the DevExpress.XtraReports.Web.CachedReportSourceWeb class.

Limitations

Expanded Inheritance Hierarchy

System.Object
    System.MarshalByRefObject
       System.ComponentModel.Component
          CachedReportSourceBase
             CachedReportSource

Expanded See Also

Is this topic helpful?​​​​​​​