[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
[Collapse]Reporting
 [Expand]Product Information
 [Expand]Get Started with DevExpress Reporting
 [Expand]Create Popular Reports
 [Expand]Detailed Guide to DevExpress Reporting
 [Expand]Visual Studio Report Designer
 [Expand]Create End-User Reporting Applications
 [Collapse]API Reference
  [Expand]DevExpress.XtraCharts
  [Expand]DevExpress.XtraPrinting.Caching
  [Expand]DevExpress.XtraReports
  [Expand]DevExpress.XtraReports.CodeCompletion
  [Expand]DevExpress.XtraReports.CodeCompletion.Storages
  [Expand]DevExpress.XtraReports.Configuration
  [Expand]DevExpress.XtraReports.Data
  [Expand]DevExpress.XtraReports.Design
  [Expand]DevExpress.XtraReports.Expressions
  [Expand]DevExpress.XtraReports.Extensions
  [Expand]DevExpress.XtraReports.FavoriteProperties
  [Expand]DevExpress.XtraReports.Localization
  [Expand]DevExpress.XtraReports.Native
  [Expand]DevExpress.XtraReports.ReportGallery
  [Expand]DevExpress.XtraReports.ReportGeneration
  [Expand]DevExpress.XtraReports.Security
  [Expand]DevExpress.XtraReports.Serialization
  [Expand]DevExpress.XtraReports.Service
  [Expand]DevExpress.XtraReports.Service.Extensions
  [Expand]DevExpress.XtraReports.Templates
  [Expand]DevExpress.XtraReports.UI
  [Expand]DevExpress.XtraReports.UI.BarCode
  [Expand]DevExpress.XtraReports.UI.PivotGrid
  [Expand]DevExpress.XtraReports.UserDesigner
  [Collapse]DevExpress.XtraReports.Web
   [Expand]ASPxDocumentViewer Class
   [Expand]ASPxQueryBuilder Class
   [Expand]ASPxReportDesigner Class
   [Expand]ASPxWebDocumentViewer Class
   [Expand]BookmarkFiller<T> Class
   [Collapse]CachedReportSourceWeb Class
     CachedReportSourceWeb Members
    [Expand]CachedReportSourceWeb Constructor
    [Expand]CachedReportSourceWeb Properties
   [Expand]CacheReportDocumentEventArgs Class
    CacheReportDocumentEventHandler Delegate
   [Expand]CanProcessHandlerRequestEventArgs Class
   [Expand]CustomizeParameterEditorsEventArgs Class
   [Expand]DeserializeClientParameterEventArgs Class
    ImagesEmbeddingMode Enumeration
   [Expand]ReportDesignerClientSideEvents Class
   [Expand]ReportDocumentMap Class
   [Expand]ReportDocumentMapStyles Class
   [Expand]ReportParametersPanel Class
   [Expand]ReportParametersPanelEditorCaptionSettings Class
   [Expand]ReportParametersPanelEditorStyles Class
   [Expand]ReportToolbar Class
   [Expand]ReportToolbarBoxStyle Class
   [Expand]ReportToolbarButton Class
   [Expand]ReportToolbarButtonStyle Class
   [Expand]ReportToolbarClientSideEvents Class
   [Expand]ReportToolbarComboBoxStyle Class
   [Expand]ReportToolbarEditorCaptionSettings Class
   [Expand]ReportToolbarImages Class
   [Expand]ReportToolbarItem Class
   [Expand]ReportToolbarItemCollection Class
    ReportToolbarItemKind Enumeration
   [Expand]ReportToolbarLabel Class
   [Expand]ReportToolbarLabelStyle Class
   [Expand]ReportToolbarMenuStyle Class
   [Expand]ReportToolbarStyles Class
   [Expand]ReportViewer Class
   [Expand]ReportViewerClientSideEvents Class
   [Expand]RestoreReportDocumentFromCacheEventArgs Class
    RestoreReportDocumentFromCacheEventHandler Delegate
   [Expand]SaveQueryEventArgs Class
   [Expand]SaveReportLayoutEventArgs Class
    SaveReportLayoutEventHandler Delegate
   [Expand]SiteMapBookmarkFiller Class
   [Expand]WebDocumentViewerClientSideEvents Class
  [Expand]DevExpress.XtraReports.Web.Azure.ReportDesigner
  [Expand]DevExpress.XtraReports.Web.Azure.WebDocumentViewer
  [Expand]DevExpress.XtraReports.Web.ClientControls
  [Expand]DevExpress.XtraReports.Web.ClientControls.DataContracts
  [Expand]DevExpress.XtraReports.Web.DocumentViewer
  [Expand]DevExpress.XtraReports.Web.DocumentViewer.Ribbon
  [Expand]DevExpress.XtraReports.Web.Extensions
  [Expand]DevExpress.XtraReports.Web.Localization
  [Expand]DevExpress.XtraReports.Web.QueryBuilder
  [Expand]DevExpress.XtraReports.Web.QueryBuilder.Native
  [Expand]DevExpress.XtraReports.Web.QueryBuilder.Services
  [Expand]DevExpress.XtraReports.Web.ReportDesigner
  [Expand]DevExpress.XtraReports.Web.ReportDesigner.DataContracts
  [Expand]DevExpress.XtraReports.Web.ReportDesigner.Native
  [Expand]DevExpress.XtraReports.Web.ReportDesigner.Services
  [Expand]DevExpress.XtraReports.Web.Scripts
  [Expand]DevExpress.XtraReports.Web.WebDocumentViewer
  [Expand]DevExpress.XtraReports.Web.WebDocumentViewer.DataContracts
  [Expand]DevExpress.XtraReports.Web.WebDocumentViewer.Native
  [Expand]DevExpress.XtraReports.Wizards
  [Expand]DevExpress.XtraReports.Wizards.Builder
  [Expand]DevExpress.XtraReports.Wizards.ColorSchemes
  [Expand]DevExpress.XtraReports.Wizards.Labels
  [Expand]DevExpress.XtraReports.Wizards.Presenters
  [Expand]DevExpress.XtraReports.Wizards.Templates
  [Expand]DevExpress.XtraReports.Wizards.Views
  [Expand]DevExpress.XtraReports.Wizards3
  [Expand]DevExpress.XtraReports.Wizards3.Presenters
  [Expand]DevExpress.XtraReports.Wizards3.Views
[Expand]Report and Dashboard Server
[Expand]Dashboard
[Expand]eXpressApp Framework
[Expand]eXpress Persistent Objects
[Expand]CodeRush
[Expand]CodeRush Classic
[Expand]Cross-Platform Core Libraries
[Expand]Tools and Utilities
 End-User Documentation
View this topic on docs.devexpress.com (Learn more)

CachedReportSourceWeb Class

An object that acts as a mediator between a report and a Web Document Viewer.

Namespace:DevExpress.XtraReports.Web
Assembly:DevExpress.XtraReports.v19.1.Web.dll

Expanded Syntax

Expanded Remarks

Use the CachedReportSourceWeb object to display a report in a Document Viewer. This object creates a report document and caches each generated page to a storage. Only pages displayed in a Document Viewer are stored in memory.

Pass a target report as a parameter to the CachedReportSourceWeb object's constructor.

A CachedReportSourceWeb object uses a DevExpress.XtraPrinting.Caching.MemoryDocumentStorage storage to cache a generated document. This storage stores a document in memory in a compact way. Use the DefaultWebDocumentViewerContainer.UseFileExportedDocumentStorage (.NET Framework) / UseFileDocumentStorage(String, StorageSynchronizationMode) (.NET Core) method to store the report documents in the File Document Storage instead. You can also use the DbDocumentStorage storage or implement a custom (see DevExpress.XtraPrinting.Caching.DocumentStorage) one. Register your IDocumentStorageProvider to manage document storages.

Expanded Display Large Reports

Use the ASPxWebDocumentViewer.OpenReport (WebForms)) / DevExpress.Web.Mvc.WebDocumentViewerExtension.Bind (MVC) / Bind(String) (ASP.NET Core MVC) method to bind the Document Viewer to a report by the unique report name. Implement the ICachedReportSourceWebResolver interface to associate a report's unique name with the CachedReportSourceWeb object that owns the report. A Document Viewer uses the ICachedReportSourceWebResolver object to find an appropriate CachedReportSourceWeb object by a report's unique name and requests the found object to generate a report document, when required.

You can also use the ASPxWebDocumentViewer.OpenReport (WebForms) / DevExpress.Web.Mvc.WebDocumentViewerExtension.Bind (MVC) method to directly bind a Document Viewer to the CachedReportSourceWeb object that owns a report . However, the report's interactive features are only available to users until the application pool is recycled. The document needs to be regenerated to make interactive features available. However, after the application pool is recycled, the document cannot be regenerated, because the initial report cannot be found.

Expanded Merge Large Reports

When you merge large documents, use the CachedReportSourceWeb object's DevExpress.XtraPrinting.Caching.CachedReportSourceBase.CreateDocument method to generate a document. Then use the XtraReport.ModifyDocument or DevExpress.XtraPrinting.Caching.CachedReportSourceBase.ModifyDocument method to manipulate the generated document's page set.

See the Merge Reports topic for more information on how to merge reports.

Expanded Limitations

Expanded Inheritance Hierarchy

System.Object
    System.MarshalByRefObject
       System.ComponentModel.Component
          CachedReportSourceBase
             CachedReportSourceWeb

Expanded See Also

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