【问题标题】:ASP.NET Core Crystal Reports integrationASP.NET Core Crystal Reports 集成
【发布时间】:2021-09-26 18:21:36
【问题描述】:

我使用 ASP.NET Webforms 技术开发了一个 Web 应用程序,它包含大量由 Crystal Reports 设计的报表。

我想将我的项目转换为 ASP.NET Core 技术,但我有一个问题,即 ASP.NET Core 不支持 Crystal Reports。我在 Google 上搜索了任何帮助,但没有找到任何帮助。

我有将近 300 份报告。您能否建议如何将这些 Crystal Reports 与 ASP.NET Core Web 应用程序集成?

【问题讨论】:

    标签: asp.net-core crystal-reports


    【解决方案1】:

    搜索,正如你所说,asp.net核心没有希望(参考:-https://stackoverflow.com/questions/62057447/how-to-call-reference-crystal-reports-from-net-core )。

    但是你可以通过实现来做到这一点:

    1. 添加一个支持 Crystal 报表(框架 4.7.1 或阅读文章 - https://answers.sap.com/questions/318288/crystal-reports-in-asp-net-core-20.html)的 .net 项目,并在该项目中添加所有报表。您可以添加、修改、预览(或测试)等。

    2. 现在在您的主应用程序中提供参考并从您的代码中调用报告,因此您可以这样做。

    我对 Telerik 报告做了同样的事情。好在它支持 .net 核心。但是直接添加有问题,所以添加另一个项目,提供参考,然后从主项目调用。这种方法的另一个好处是,当我们进行实时/生产时,由于报告在不同的项目中,我们可以在设计器中修改报告并仅发布报告项目 dll(不需要发布所有项目)。

    【讨论】:

      【解决方案2】:

      Crystal Reports 不支持 .net core、.net 5 或 6,并且没有立即支持 .net core 的计划。他们提供了几种解决方案:

      1. 切换到java
      2. 将报告托管在 4.8 Web 应用程序中,并从您的 asp.net 核心应用程序反向代理到它。

      选项 2 可能是您最好的选择。

      注意:.net 核心应用程序和 .net 标准库都不能调用 4.8 dll。

      查看主题:

      https://answers.sap.com/questions/13029137/crystal-reports-for-visual-studio-and-net-core-5-a.html

      【讨论】:

        【解决方案3】:

        解决此问题的一种方法是将报告生成过程与 .NET Core 过程分离。

        例如,.NET Core 进程可以将记录插入到 Report_Job 表中。该表不仅可以包含有关 rpt 文件的信息,还可以包含有关参数和处理选项的信息。

        另一个进程可以监视该表、触发报告并删除/更新作业记录。

        有 3rd-party Crystal Reports 工具可以做到这一点(包括根据报表作业的成功/失败更新数据库的能力。因此无需重新发明轮子。

        【讨论】:

          猜你喜欢
          • 2012-04-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-02-21
          • 2017-08-11
          • 2010-10-01
          • 1970-01-01
          相关资源
          最近更新 更多