I am working on a ASP.NET Core (.NET 6) web application with the main report UI using the HTML 5 viewer, working from the REST service controller.
We also require automated report exporting to run at scheduled times with predefined parameters (to be stored and emailed). SQL datasource(s) and engine settings will be the same as used in the reports controller.
Please can you advise on the best approach to process and output export files from the server-side application code.
It looks like I need to use the ReportProcessor class, but not sure how to make use of "engine" config...
Further application detail and problem encountered:
I have implemented the EF Core based report storage example and have a custom function assembly, used in most reports.
The IReportSourceResolver is provided along with the engine configuration - connections strings and custom function assembly reference - in a ReportServiceConfiguration instance for the ReportsController.
I believe that ReportProcessor does not somehow obtain the IReportServiceConfiguration the REST controller has injected.
There is no issue running code in a background job (eg. Quartz.NET):
- loading a report instance with the IReportSourceResolver implementation
- using code based on this example to set SQL datasource connection strings
- using ReportProcessor.RenderReport().
This has worked fine for a little while, but the ReportProcessor seems to no longer find and load the custom assembly - though I'm sure it is output to the build location (and has had no recent changes).