首页 > 解决方案 > ASP.NET Core MVC 应用程序中的 Microsoft LocalReport (rdl)

问题描述

我正在使用 ASP.NET Core (2.1) MVC 运行一个项目。在我们公司,我们确实使用 SQL Report Builder(rdlc 和 rdl 文件)完成了很多工作。因此,我们想在 asp.net core mvc webapp 中使用“one the fly”机制通过 ReportBuilder 技术生成 PDF 文件。

我尝试了我们在 .net Framework(asp.net API 和桌面应用程序)中使用的相同 nuget 包,但它们不起作用。我试过的包是:

问题是他们使用的是 System.Web,我不能将其包含在 .net Core 应用程序中,对吗?

我搜索了任何解决方案,但没有找到很多有用的材料。我也知道微软购买了一个产品来完成工作: https ://blogs.msdn.microsoft.com/sqlrsteamblog/2018/04/02/microsoft-acquires-report-rendering-technology-from-forerunner-软件/

我已经读过这篇关于类似问题的文章: RDLC Local report viewer for ASP.NET Core and Angular(>2.0)

我们是否考虑到了错误的技术设置,或者这甚至根本不支持。我发现了一些其他包(https://www.nuget.org/packages/AlanJuden.MvcReportViewer.NetCore/),它们正在使用 html 来呈现报告。但我们真的很想使用 rdl 文件

非常感谢任何信息和建议。

标签: c#reporting-servicesasp.net-core-mvc

解决方案


最后我们想出了一个完全不同的方法。

我们刚刚在 .NET Framework 上创建了一个名为“DocumentService”的新应用程序,该应用程序在 Windows Server 上作为服务运行。如果数据库队列中有新作业,该服务正在检查数据库,如果有,它会生成 pdf 结果并将其存储在数据库中。

因此,Web 应用程序不再负责创建 pdf,它只是在数据库中添加了一个新行,以便标记应该创建一个新文档。DocumentService 应用程序随后生成文档,Web 应用程序可以访问数据库中的数据。

我们可以在应用程序环境的其他部分使用这个“DocumentService”,因此付出的努力是值得的。它的应用程序也是多线程的,并且工作得非常快而且很好。


推荐阅读