From 7fe5410e8187ea13cbe97b18555c96ea2c1e4e7d Mon Sep 17 00:00:00 2001 From: Todor Arabadzhiev Date: Fri, 22 Nov 2024 18:17:10 +0200 Subject: [PATCH] Todora asp net core reporting (#1545) * Create asp-net-core-reporting.md * Update asp-net-core-reporting.md * Update asp-net-core-reporting.md * Update asp-net-core-reporting.md * Update _config.yml * Update asp-net-core-reporting.md * Update asp-net-core-reporting.md * Update asp-net-core-reporting.md * Update overview.md * Update host-reports-service-in-.net-6-with-minimal-api.md * Update host-reports-service-in-.net-with-controllers.md * Update host-reports-service-in-.net-5.md * Update host-reports-service-in-.net-core-2.1-and-2.2.md * Update how-to-host-reports-service-in-asp.net-core-3.1.md * Update html5-viewer-telerik-rest-service.md * Update overview.md * Update host-reports-service-in-.net-5.md * Update host-reports-service-in-.net-6-with-minimal-api.md * Update host-reports-service-in-.net-core-2.1-and-2.2.md * Update host-reports-service-in-.net-with-controllers.md * Update overview.md * Update html5-viewer-telerik-rest-service.md * Update overview.md * Update how-to-host-reports-service-in-asp.net-core-3.1.md * Update asp-net-core-reporting.md * Update asp-net-core-reporting.md * Update asp-net-core-reporting.md * Update asp-net-core-reporting.md --- _config.yml | 8 +-- embedding-reports/asp-net-core-reporting.md | 60 +++++++++++++++++++ .../host-reports-service-in-.net-5.md | 1 + ...orts-service-in-.net-6-with-minimal-api.md | 4 ++ ...eports-service-in-.net-core-2.1-and-2.2.md | 4 ++ ...eports-service-in-.net-with-controllers.md | 4 ++ ...ost-reports-service-in-asp.net-core-3.1.md | 4 ++ .../overview.md | 4 ++ .../html5-viewer-telerik-rest-service.md | 4 ++ embedding-reports/overview.md | 4 ++ 10 files changed, 93 insertions(+), 4 deletions(-) create mode 100644 embedding-reports/asp-net-core-reporting.md diff --git a/_config.yml b/_config.yml index df83ec5ce..4a39408bc 100644 --- a/_config.yml +++ b/_config.yml @@ -124,16 +124,16 @@ navigation: position: 5 title: "Embedding Reports" embedding-reports/cache-management: - position: 7 + position: 70 title: "Cache Management" embedding-reports/program-the-report-definition: - position: 8 + position: 80 title: "Managing Reports Programmatically" embedding-reports/program-the-report-definition/report-events: position: 15 title: "Report Events" embedding-reports/display-reports-in-applications: - position: 6 + position: 60 title: "Displaying Reports" embedding-reports/display-reports-in-applications/web-application: position: 10 @@ -241,7 +241,7 @@ navigation: position: 15 title: "Troubleshooting" embedding-reports/host-the-report-engine-remotely: - position: 5 + position: 50 title: "Generating Reports Remotely" embedding-reports/host-the-report-engine-remotely/asp.net-web-api-implementation: position: 10 diff --git a/embedding-reports/asp-net-core-reporting.md b/embedding-reports/asp-net-core-reporting.md new file mode 100644 index 000000000..d06ff7eac --- /dev/null +++ b/embedding-reports/asp-net-core-reporting.md @@ -0,0 +1,60 @@ +--- +title: ASP.NET Core Reporting +page_title: ASP.NET Core Reporting – Telerik Reporting +description: "ASP.NET Core Reporting is a framework for generating and delivering dynamic reports in web apps using ASP.NET Core technology." +slug: asp-net-core-reporting +tags: telerik, reporting, reports, web, asp, net, core +published: True +position: 6 +--- + +# Embedding Telerik Reporting in ASP.NET Core Reporting Applications + +[ASP.NET Core](https://learn.microsoft.com/en-us/aspnet/core/introduction-to-aspnet-core) is an advanced Web technology that lets you build modern cross-platform client-side, server-side and combined applications. This article offers a brief overview of the most popular approaches to integrate and use Telerik Reporting in ASP.NET Core Web Reporting applications. + +## Supported Operating Systems and Docker Containers + +The article [Available .NET Support for Operating Systems and Docker Containers]({%slug telerikreporting/using-reports-in-applications/dot-net-core-support%}) elaborates on the specifics when deploying Telerik Reporting on different environments. + +## Displaying Reports in ASP.NET Core Web Reporting Applications + +The [HTML5 Report Viewer]({%slug telerikreporting/using-reports-in-applications/display-reports-in-applications/web-application/html5-report-viewer/overview%}) is an HTML/CSS/JS client-side widget suitable for any web application that works with JavaScript. This makes it the perfect widget for displaying Telerik Reporting Reports in all Web Reporting Applications. + +### Requirements + +.NET 6 introduced a [globalization-invariant mode](https://learn.microsoft.com/en-us/dotnet/core/runtime-config/globalization) which, if enabled, does not allow the creation of any culture except the invariant culture. The Report Engine relies on instantiating cultures to support localization, formatting, and unit conversion, so enabling invariant globalization will break the engine's functionality. Refer to the [Only invariant culture is supported in globalization-invariant mode]({%slug only-invariant-culture-is-supported-in-globalization-invariant-mode-error%}) article for instructions on how to disable the `Invariant Globalization` mode. + +### Implementation + +The article [Using the HTML5 Report Viewer in an ASP.NET Core application in .NET]({%slug telerikreporting/using-reports-in-applications/display-reports-in-applications/web-application/html5-report-viewer/how-to-use-html5-report-viewer-in-an-asp.net-core-in-.net-5-application%}) is a step-by-step tutorial on embedding the HTML5 Report Viewer in ASP.NET Core Web Reporting projects. + +## Generating Reports in ASP.NET Core Web Reporting Applications + +The [Telerik Reporting REST Services]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/overview%}) provide an Application Programming Interface (API) over HTTP to the Reporting Engine that processes and renders [Telerik Reports]({%slug on-telerik-reporting%}#report-definition). The fully functional implementation of the service is available in the assembly/package `Telerik.Reporting.Services.AspNetCore`. It may be embedded in any ASP.NET Core Reporting Application and exposed in a custom controller (for example, `ReportsController`) inheriting the basic `ReportsControllerBase` class. The `ReportsController` may be used as a source of Report documents by Web Reporting, Desktop Reporting, and other third-party client applications. + +### Implementation + +There are different methods for configuring the Telerik Reporting REST Service in an ASP.NET Core Reporting project: + +* [Hosting the Telerik Reporting REST Service in ASP.NET Core in .NET 6+ with __Minimal API__]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/asp.net-core-web-api-implementation/how-to-host-reports-service-in-asp.net-core-in-.net-6-with-minimal-api%}) +* [Hosting the Telerik Reporting REST Service in ASP.NET Core in .NET 6 and .NET 8 with __Top-Level Statements__]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/asp.net-core-web-api-implementation/host-reports-service-in-.net-with-controllers%}) +* [Hosting the Telerik Reporting REST Service in an ASP.NET Core Application in .NET 6, .NET 8 and .NET 9 with __Startup.cs__]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/asp.net-core-web-api-implementation/how-to-host-reports-service-in-asp.net-core-in-.net-5%}) + +## Designing Reports in ASP.NET Core Web Reporting Applications + +The [Web Report Designer]({%slug telerikreporting/designing-reports/report-designer-tools/web-report-designer/overview%}) is an HTML/CSS/JS client-side widget that lets developers embed a report designer into their web reporting applications. It is ready for embedding in the ASP.NET Core Reporting Applications to allow the users to create, edit, and preview their Telerik Web Reports directly from the browser. + +### Web Report Designer Requirements + +The Web Report Designer requires a Report Designer REST service, whose fully functional implementation resides in the assembly/package `Telerik.WebReportDesigner.Services` as explained in the section [Web Report Designer Implementation](#web-report-designer-implementation). + +### Web Report Designer Implementation + +The tutorial [Setting up the Web Report Designer in .NET applications]({%slug telerikreporting/designing-reports/report-designer-tools/web-report-designer/how-to-set-up-in-.net-5-and-.net-core-3.1-applications%}) elaborates on implementing the web designer widget and its REST Service in ASP.NET Core Web Reporting projects. + +## See Also + +* [Displaying Reports]({%slug telerikreporting/using-reports-in-applications/display-reports-in-applications/overview%}) +* [Telerik Report Viewer and Telerik Reporting REST Service]({%slug telerikreporting/using-reports-in-applications/export-and-configure/cache-management/html5-report-viewer-and-reporting-rest-services%}) +* [REST API Reference]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/rest-api-reference/overview%}) +* [Report Sources]({%slug telerikreporting/designing-reports/report-sources/overview%}) diff --git a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-5.md b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-5.md index 2287b095d..370f0570f 100644 --- a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-5.md +++ b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-5.md @@ -172,5 +172,6 @@ app.UseCors("ReportingRestPolicy"); ## See Also +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%}) * [ASP.NET Core Web API Implementation Overview]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/asp.net-core-web-api-implementation/overview%}) * [Hosting in .NET 6+ with Minimal API]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/asp.net-core-web-api-implementation/how-to-host-reports-service-in-asp.net-core-in-.net-6-with-minimal-api%}) diff --git a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-6-with-minimal-api.md b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-6-with-minimal-api.md index aed6d49a5..c18392b63 100644 --- a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-6-with-minimal-api.md +++ b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-6-with-minimal-api.md @@ -175,3 +175,7 @@ app.UseCors("ReportingRestPolicy"); A full example can be found in the installation folder of Telerik Reporting: `C:\Program Files (x86)\Progress\Telerik Reporting {{site.suiteversion}}\Examples\CSharp\.NET 6\ReportingRestServiceCorsDemo\CSharp.Net6.ReportingRestServiceCorsDemo` + +## See Also + +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%}) diff --git a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-core-2.1-and-2.2.md b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-core-2.1-and-2.2.md index d5f9ed4c0..c28edc25d 100644 --- a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-core-2.1-and-2.2.md +++ b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-core-2.1-and-2.2.md @@ -171,3 +171,7 @@ namespace AspNetCoreDemo.Controllers ## Test the service implementation To ensure that the service operates, run the application and navigate to either of the General REST Service API URLs `{applicationRoot}/api/reports/formats` or `{applicationRoot}/api/reports/version`. The first should return a [JSON representing the supported rendering extensions]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/rest-api-reference/general-api/get-available-document-formats%}), and the second - the [version of the Reporting REST Service]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/rest-api-reference/general-api/get-version%}). + +## See Also + +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%}) diff --git a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-with-controllers.md b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-with-controllers.md index e51a4cd65..c953b9059 100644 --- a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-with-controllers.md +++ b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/host-reports-service-in-.net-with-controllers.md @@ -245,3 +245,7 @@ app.UseCors("ReportingRestPolicy"); A full example can be found in the installation folder of Telerik Reporting: `C:\Program Files (x86)\Progress\Telerik Reporting {{site.suiteversion}}\Examples\CSharp\.NET 6\ReportingRestServiceCorsDemo\CSharp.Net6.ReportingRestServiceCorsDemo` + +## See Also + +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%}) diff --git a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/how-to-host-reports-service-in-asp.net-core-3.1.md b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/how-to-host-reports-service-in-asp.net-core-3.1.md index fd8b62e18..d8befcf9d 100644 --- a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/how-to-host-reports-service-in-asp.net-core-3.1.md +++ b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/how-to-host-reports-service-in-asp.net-core-3.1.md @@ -241,3 +241,7 @@ app.UseCors("ReportingRestPolicy"); A full example can be found in the installation folder of Telerik Reporting: `C:\Program Files (x86)\Progress\Telerik Reporting {{site.suiteversion}}\Examples\CSharp\.NET Core 3.1\ReportingRestServiceCorsDemo\CSharp.Core31.ReportingRestServiceCorsDemo` + +## See Also + +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%}) diff --git a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/overview.md b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/overview.md index 7be305367..e33506abf 100644 --- a/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/overview.md +++ b/embedding-reports/host-the-report-engine-remotely/asp.net-core-web-api-implementation/overview.md @@ -30,3 +30,7 @@ The service can be used from: * [Windows Forms ReportViewer]({%slug telerikreporting/using-reports-in-applications/display-reports-in-applications/windows-forms-application/how-to-use-windows-forms-report-viewer-with-rest-service%}) * [WPF ReportViewer]({%slug telerikreporting/using-reports-in-applications/display-reports-in-applications/wpf-application/how-to-use-wpf-report-viewer-with-rest-service%}) * Any custom client can utilize resources from the service by submitting HTTP requests - [REST API Reference]({%slug telerikreporting/using-reports-in-applications/host-the-report-engine-remotely/telerik-reporting-rest-services/rest-api-reference/overview%}). + +## See Also + +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%}) diff --git a/embedding-reports/html5-viewer-telerik-rest-service.md b/embedding-reports/html5-viewer-telerik-rest-service.md index 03884246d..f86385a97 100644 --- a/embedding-reports/html5-viewer-telerik-rest-service.md +++ b/embedding-reports/html5-viewer-telerik-rest-service.md @@ -52,3 +52,7 @@ Important cache management-related properties of the IReportServiceConfiguration When a report is rendered once for a given set of the above requirements, it can be reused for the time specified as `ReportSharingTimeout`. Setting the `ReportSharingTimeout` to `0` (`zero`, default) will cause each client request for a report to produce a new report document instead of reusing an already rendered document. > When you navigate to reports via [NavigateToReportAction]({%slug telerikreporting/designing-reports/adding-interactivity-to-reports/actions/drillthrough-report-action%}) the Reporting engine always creates a new instance of the target report. + +## See Also + +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%}) diff --git a/embedding-reports/overview.md b/embedding-reports/overview.md index d4960a1ab..4ed144396 100644 --- a/embedding-reports/overview.md +++ b/embedding-reports/overview.md @@ -80,3 +80,7 @@ If you are just starting with Telerik Reporting, look at our [First Steps]({%slu Wondering about specific report design? You might find helpful suggestions on how to present the data in [Report Structure]({%slug telerikreporting/designing-reports/report-structure/overview%}) section. Are you into ASP.NET Core? See how to display reports in a .NET Core application for Windows, Linux, and macOS platforms here - [.NET Core Support]({%slug telerikreporting/using-reports-in-applications/dot-net-core-support%}). + +## See Also + +* [Embedding Telerik Reporting in ASP.NET Core Web Reporting Applications]({%slug asp-net-core-reporting%})