我正在使用 ASP.NET Core (2.1) MVC 运行一个项目。在我们公司,我们确实使用 SQL Report Builder(rdlc 和 rdl 文件)完成了大量工作。因此,我们希望在 ASP.NET Core MVC Web 应用程序中使用“一次性”机制通过 ReportBuilder 技术生成 PDF 文件。
我尝试了与 .net Framework(asp.net API 和桌面应用程序)中使用的相同的 nuget 包,但它们不起作用。我尝试过的软件包有:
- Microsoft.ReportingServices.ReportViewerControl.Winforms
- Microsoft.ReportingServices.ReportViewerControl.Webforms
问题是他们正在使用 System.Web,我无法将其包含在 .net Core 应用程序中,对吗?
我用谷歌搜索任何解决方案,但没有找到很多有用的材料。我还知道微软购买了一个产品来完成工作:https://blogs.msdn.microsoft.com/sqlrsteamblog/2018/04/02/microsoft-acquires-report-rendering-technology-from-forerunner-software/ https://blogs.msdn.microsoft.com/sqlrsteamblog/2018/04/02/microsoft-acquires-report-rendering-technology-from-forerunner-software/
我已经读过这篇关于类似问题的文章:RDLC 用于 ASP.NET Core 和 Angular(>2.0) 的本地报告查看器 https://stackoverflow.com/questions/49309797/rdlc-local-report-viewer-for-asp-net-core-and-angular2-0
我们是否考虑了错误的技术设置,或者根本不支持。我发现了一些其他包(https://www.nuget.org/packages/AlanJuden.MvcReportViewer.NetCore/ https://www.nuget.org/packages/AlanJuden.MvcReportViewer.NetCore/)正在使用 html 来呈现报告。但我们确实想使用 rdl 文件
非常感谢任何信息和建议。
最后我们想出了一种完全不同的方法。
我们刚刚在 .NET Framework 上创建了一个名为“DocumentService”的新应用程序,作为 Windows Server 上的服务运行。该服务正在检查数据库数据库队列中是否有新作业,如果有,它会生成 pdf 结果并将其存储在数据库中。
因此,Web 应用程序不再负责创建 pdf,它只是在数据库中添加了一个新行,以便标记应该创建一个新文档。然后,DocumentService 应用程序生成文档,并且 Web 应用程序可以访问数据库中的数据。
我们可以在应用程序环境的其他部分使用这个“DocumentService”,因此付出的努力是值得的。它的应用程序也是多线程的,并且运行得非常快且良好。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)