DevExpress.AspNetCore.Reporting.Azure
26.1.5
Prefix Reserved
dotnet add package DevExpress.AspNetCore.Reporting.Azure --version 26.1.5
NuGet\Install-Package DevExpress.AspNetCore.Reporting.Azure -Version 26.1.5
<PackageReference Include="DevExpress.AspNetCore.Reporting.Azure" Version="26.1.5" />
<PackageVersion Include="DevExpress.AspNetCore.Reporting.Azure" Version="26.1.5" />
<PackageReference Include="DevExpress.AspNetCore.Reporting.Azure" />
paket add DevExpress.AspNetCore.Reporting.Azure --version 26.1.5
#r "nuget: DevExpress.AspNetCore.Reporting.Azure, 26.1.5"
#:package DevExpress.AspNetCore.Reporting.Azure@26.1.5
#addin nuget:?package=DevExpress.AspNetCore.Reporting.Azure&version=26.1.5
#tool nuget:?package=DevExpress.AspNetCore.Reporting.Azure&version=26.1.5
Microsoft Azure Integration for DevExpress ASP.NET Core Reports
This package allows you to cache documents generated with DevExpress ASP.NET Core Reporting in Azure Storage. The Web Document Viewer saves document files in Blob Storage and stores service information in Table Storage. As a result, the Web Document Viewer and Report Designer preview remain available across requests, application restarts, and load-balanced instances. This architecture enables scalable, stateless deployment on Azure App Service, containers, and Linux-based hosts.
Key Features
- Caches generated report documents in Azure Blob Storage and stores Web Document Viewer service data in Azure Table Storage.
- Keeps document state available across requests, application restarts, and load-balanced instances to support stateless, horizontally scaled Azure deployments.
- Provides the
UseAzureCachedReportSourceBuildermethod to configure the cache for the Web Document Viewer and Report Designer. - Provisions the required Azure Storage resources through
IAzureResourceProvisionService.CreateRequiredResourcesAsync(). - Supports Azure Service Bus for multi-instance synchronization through the
UseAzureEnvironmentmethod.
Example: Cache Report Documents in Azure Storage
Grant your app's managed identity the Storage Blob Data Contributor and Storage Table Data Contributor roles on the storage account.
Configure
BlobServiceClientandTableServiceClientand register them in the application's service container. Refer to the following Microsoft article: Use the Azure SDK for .NET in ASP.NET Core apps.Implement services that pass these clients to the Web Document Viewer:
using Azure.Data.Tables; using Azure.Storage.Blobs; using DevExpress.XtraReports.Web.Azure; public class BlobServiceClientProvider(BlobServiceClient client) : IBlobServiceClientProvider { public BlobServiceClient GetBlobServiceClient() => client; } public class TableServiceClientProvider(TableServiceClient client) : ITableServiceClientProvider { public TableServiceClient GetTableServiceClient() => client; }Enable the cache and register these services in Program.cs:
using DevExpress.AspNetCore; using DevExpress.AspNetCore.Reporting; using DevExpress.AspNetCore.Reporting.Azure; using DevExpress.XtraReports.Web.Azure; var builder = WebApplication.CreateBuilder(args); builder.Services.AddDevExpressControls(); builder.Services.ConfigureReportingServices(configurator => { // Cache generated documents in Azure Storage. configurator.ConfigureWebDocumentViewer(viewer => viewer.UseAzureCachedReportSourceBuilder()); }); // BlobServiceClient and TableServiceClient must already be registered (see step 2). // Registered after ConfigureReportingServices, these replace the connection-string providers. builder.Services.AddScoped<IBlobServiceClientProvider, BlobServiceClientProvider>(); builder.Services.AddScoped<ITableServiceClientProvider, TableServiceClientProvider>(); var app = builder.Build(); app.UseDevExpressControls(); app.Run();Create the required Azure Storage resources — the
dxxrreportsanddxxrdocumentstables and thedxxrcommonstorageblob container. Call the following code once at application startup:// Program.cs //... using (var scope = app.Services.CreateScope()) { var azureResourceInitializer = scope.ServiceProvider.GetService<IAzureResourceProvisionService>(); azureResourceInitializer.CreateRequiredResourcesAsync().GetAwaiter().GetResult(); } // app.Run();
Evaluation Period, Pricing Options, and Licensing Terms
Whether you own a license or want to start a 30-day evaluation, download and register your DevExpress license key. To obtain your key, sign in to the DevExpress Download Manager with an existing DevExpress.com account or create a free account. For key registration instructions, see License Key for DevExpress Products.
If you purchase a license after evaluating a product, re-register your updated DevExpress license key to remove evaluation warnings and messages.
This package is included in the following commercial subscriptions:
- DevExpress Reporting Subscription
- DevExpress ASP.NET Subscription
- DevExpress DXperience Subscription
- DevExpress Universal Subscription
See DevExpress Subscriptions & Licensing for subscription comparison tables, purchasing FAQ, and licensing information.
Related Components/Packages
DevExpress.AspNetCore.Reporting — Web Document Viewer and End-User Report Designer for ASP.NET Core. This package is required — install it alongside DevExpress.AspNetCore.Reporting.Azure.
dotnet add package DevExpress.AspNetCore.Reporting
Documentation
Software Bill of Materials (SBOM)
To access SBOM files for DevExpress packages, please refer to the following article: Software Bill of Materials (SBOM) for DevExpress .NET assemblies/NuGet packages, JavaScript, VCL and other redistributable artifacts.
See Also: Information Security | Security - What You Need to Know
Useful Online Resources
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Azure.Data.Tables (>= 12.11.0)
- Azure.Messaging.ServiceBus (>= 7.20.1)
- Azure.Storage.Blobs (>= 12.26.0)
- DevExpress.AspNetCore.Reporting (= 26.1.5)
- DevExpress.Web.Reporting.Azure (= 26.1.5)
- DevExpress.Web.Reporting.Common (= 26.1.5)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 26.1.5 | 71 | 9/18/2026 |
| 26.1.5-pre-26248 | 86 | 9/11/2026 |
| 26.1.5-pre-26241 | 93 | 9/2/2026 |
| 26.1.5-pre-26235 | 103 | 8/26/2026 |
| 26.1.5-pre-26227 | 110 | 8/18/2026 |
| 26.1.4 | 1,165 | 8/7/2026 |
| 26.1.3 | 2,886 | 6/18/2026 |
| 25.2.9 | 233 | 8/3/2026 |
| 25.2.8 | 1,541 | 6/10/2026 |
| 25.2.7 | 2,454 | 5/6/2026 |
| 25.2.6 | 2,367 | 4/7/2026 |
| 25.1.13 | 146 | 7/31/2026 |
| 25.1.12 | 730 | 6/10/2026 |
| 25.1.11 | 1,005 | 5/5/2026 |
| 25.1.10 | 5,159 | 4/6/2026 |
| 25.1.9 | 1,746 | 3/2/2026 |