Breaking Change T1155159
Visible to All Users

Reporting for Blazor - API changes

What Changed

In v23.1, the following classes became obsolete:

  • DownloadExportResultControllerBase
  • DownloadExportResultController
  • ExportResultStorage

The UseDevExpressServerSideBlazorReportViewer method became obsolete.

You no longer need to explicitly implement the export controller to print and export reports for the DxReportViewer component.

The following methods were removed from the IExportProcessor interface:

  • GetStreamAsync(ExportResultItem item)
  • FinalizeStreamAsync(ExportResultItem, Stream)
  • GetExportInfoAsync(ExportResultItem)

The IExportProcessor now contains the ProcessExportResult(ExportResultItem, Boolean) method and is used to customize document export in Blazor Hybrid applications.

Reasons for Change

In previous versions, you needed to implement the export controller (which inherits from the DownloadExportResultControllerBase class) to export and print reports in the Report Viewer component. In v23.1, export and printing no longer require requests to the controller or intermediate data storage.

Impact on Existing Apps

This change affects your application if you used the APIs listed above.

How to Update Existing Apps

Remove the code that implements the export controller from your application:

C#
using DevExpress.Blazor.Reporting.Controllers; using DevExpress.Blazor.Reporting.Internal.Services; public class DownloadExportResultController : DownloadExportResultControllerBase { public DownloadExportResultController(ExportResultStorage exportResultStorage) : base(exportResultStorage) { } }

From the application startup code, delete the UseDevExpressServerSideBlazorReportViewer method call.

Disclaimer: The information provided on DevExpress.com and affiliated web properties (including the DevExpress Support Center) is provided "as is" without warranty of any kind. Developer Express Inc disclaims all warranties, either express or implied, including the warranties of merchantability and fitness for a particular purpose. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.

Confidential Information: Developer Express Inc does not wish to receive, will not act to procure, nor will it solicit, confidential or proprietary materials and information from you through the DevExpress Support Center or its web properties. Any and all materials or information divulged during chats, email communications, online discussions, Support Center tickets, or made available to Developer Express Inc in any manner will be deemed NOT to be confidential by Developer Express Inc. Please refer to the DevExpress.com Website Terms of Use for more information in this regard.