DefaultReportDesignerContainer.UseAsyncEngine() Method
Allows you to use asynchronous interfaces and methods.
Namespace: DevExpress.XtraReports.Web.ReportDesigner
Assembly: DevExpress.XtraReports.v24.1.Web.dll
NuGet Package: DevExpress.Web.Reporting.Common
Declaration
Remarks
The UseAsyncEngine method turns on asynchronous mode for the Web Document Viewer. It allows the application to access threads from the thread pool while reporting components load, save, or export reports.
Important
In asynchronous mode, you should use asynchronous interfaces and methods with the “Async” postfix instead of their counterparts.
Asynchronous mode does not guarantee that all services will call their asynchronous method implementations. If in your application you call the “synchronous” method counterpart, it may cancel asynchronous process execution, and subsequently reporting services start calling their synchronous method implementations.
To switch to asynchronous mode, call the UseAsyncEngine
method at application startup:
DevExpress.XtraReports.Web.ReportDesigner.DefaultReportDesignerContainer.UseAsyncEngine();
// ...
DevExpress.XtraReports.Web.ASPxReportDesigner.StaticInitialize();
// ...
The UseAsyncEngine
method must be called before the StaticInitialize() method.
Asynchronous API
The following table lists interfaces and methods with their asynchronous counterparts:
Report Provider
A report provider creates or retrieves a report object based on the report identifier (report URL). When you implement a custom IReportProviderAsync service, use asynchronous methods. Note that in asynchronous mode, blocking requests use the IReportProvider service instead of the IReportProviderAsync service.
Interface | Async Counterpart |
---|---|
IReportProvider | IReportProviderAsync |
Web Report Storage (ReportStorageWebExtension class)
If your application includes a web report storage, and you wish to use the asynchronous engine, implement the async equivalents of the ReportStorageWebExtension methods. Note that in asynchronous mode, blocking requests use methods without the Async postfix.
Method | Async Counterpart |
---|---|
GetData | GetDataAsync |
none | AfterGetDataAsync |
GetUrls | GetUrlsAsync |
SetData | SetDataAsync |
SetNewData | SetNewDataAsync |
Report Model
Use async methods in controller actions to create a report model and pass it to the client.
Report
JSON Web Token Authentication
Interface | Async Counterpart |
---|---|
IWebDocumentViewerExportResultUriGenerator | IWebDocumentViewerExportResultUriGeneratorAsync |
Report Wizard Customization Service
Method | Async Counterpart |
---|---|
CustomizeReportTypeList | CustomizeReportTypeListAsync |
TryCreateCustomReport | TryCreateCustomReportAsync |
CustomizeReportOnFinish | CustomizeReportOnFinishAsync |