【问题标题】:Can one use Reportviewer Control in ASP.net Core可以在 ASP.net Core 中使用 Reportviewer 控件吗
【发布时间】:2016-06-23 18:11:59
【问题描述】:

我想在ASP.NET Core MVC 项目中使用 Reporting Services ReportViewer 控件。

其他answers中提出的解决方案是将网络表单添加到项目中。

但是由于ASP.NET Core 不支持网络表单,我无法将控件添加到网络表单。

是否有任何其他解决方法可以帮助我在 ASP.NET Core Web 应用程序中使用 ReportViewer 控件?

【问题讨论】:

    标签: asp.net-core reportviewer asp.net-core-mvc reportviewerformvc


    【解决方案1】:

    2019 年更新

    我有 ReportViewer 在 Windows 上的 ASP.NET Core 上运行,大多数功能(不是 PDF 和图像/PowerPoint)也可以在 Linux 上的 ASP.NET Core 上运行。
    不过,仍有一些错误需要清除。
    你可以通过in this github issue了解更多。

    我不能公开发布,因为 ReportViewer has a rather constricting license...

    它基于 amh1979 的 AspNetCore.Reporting nuget
    您可以尝试wrapper nuget around ReportExecution.asmx,同样是 amh1979,它没有许可问题,但它不是真正的 ReportViewer。


    原帖:

    不,你不能。
    Microsoft 只是在评估创建 .NET Core ReportViewer 控件。
    这意味着目前没有(05/2017)。
    ASP.NET MVC 也没有任何 ReportViewer“控件”。

    MS-ReportServer 的 ReportExecution.asmx 周围只有 alanjuden's wrapper
    但这不一样。这仍然需要报表服务器上的 Windows 身份验证(以及用户必须是特定广告组的成员),以及在 Windows 上运行的 SSRS 服务器。

    如果您在 Windows 上仍然有一个 SSRS-ReportServer,那么您最好将 SSRS ReportViewer.aspx 嵌入到 iframe 中。您可能希望将表单身份验证添加到您的报告服务器。另外,如果需要跨平台(=cross-browser = non-IE),则需要 SSRS >= 2016(SSRS 2005/2008R1/2008R2/2012/2014 中不提供跨浏览器)。

    如果您在 Windows 上并且不希望(您的客户)必须安装特定版本的 SSRS(这意味着您必须获得 MS-SQL-Server 的许可),您可以创建一个 .NET 非IIS 上的核心 Web 应用程序(在同一域上),并共享 auth-cookie。然后,通过 iframe(或与 target=_blank 链接)在 .NET Core Web 应用程序中嵌入来自 IIS .NET 非核心应用程序的 ReportViewer。这样你就不需要 SQL-Server 许可证,如果你使用 MySQL/PostgreSQL/Oracle,也不需要 MS-SQL-Server。

    除了等待,您还可以将 Apache Tomcat 与 BIRT 捆绑到您的应用程序中,use Launch4J to redistribute it with the JRE。然后,您只需使用 Eclipse-BIRT ReportDesigner 来创建 BIRT 报告(非 SSRS 报告)。

    或者您可以将 JasperReports 与 JasperServer 一起嵌入。
    这将比 BIRT 更难进行 bin 部署。
    但我猜码头工人来救援。

    Jasper 和 BIRT 的优势在于它们也可以在 Linux/Mac 上运行。
    但是,这意味着您需要在服务器上安装 JRE,或者将 JRE 与您的应用程序一起进行 bin 部署。

    Jasper 相对于 BIRT 的优势在于它速度更快,并且它支持竖排文本(不仅仅是在 Web 中,竖排文本不会呈现为图像)。

    从他们的网站下载的 BIRT 版本通常总是存在一些问题,这些问题首先会阻止运行 BIRT。是缺少 JAVA_HOME 环境变量、缺少 .jar 依赖项或 .jar 文件中的无效签名。有关您当时机器上的内容的信息,请查阅 TOMCAT 日志文件,然后搜索问题。
    BIRT 的好处在于,它相对容易进行 bin 部署。

    如果你喜欢 nodeJS,另一个选择是 jsReports。
    然而,没有安装和复杂性的 Bin-Deploy 将更加困难(PhantomJS、Webkit、wkHtmlToPdf - 例如在 Raspberry PI 上使用 ARM 处理器)。

    如果您有几年的空闲时间,您也可以等到 SSRS 团队移植到 .NET Core - 如果真的发生这种情况,那就是。

    【讨论】:

      【解决方案2】:

      这是一个适用于 ASP.NET MVC 和 ASP.NET Core 的报表查看器。

      MVC .NET Core Report Viewer

      【讨论】:

      • 上述实现目前不支持本地 .rdlc 文件,只能用于服务器托管的 SSRS 报告。
      • @ekhanna 他们仍然不支持本地 .rdlc 文件吗?
      • 微软从 Forerunner Software 获得报告渲染技术(2018 年 4 月 2 日),看来技术是我们不远的未来blogs.msdn.microsoft.com/sqlrsteamblog/2018/04/02/…
      • 这里有没有人有更多关于 .NetCore3.1 或 .Net5 中 RDLC 渲染的信息?上面的 MS 博客似乎已经很老了,但我们还没有看到任何内容。
      猜你喜欢
      • 2010-12-20
      • 1970-01-01
      • 1970-01-01
      • 2019-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-02
      相关资源
      最近更新 更多