【问题标题】:I need to generate a report from a WCF service what are my options? [closed]我需要从 WCF 服务生成报告,我有哪些选择? [关闭]
【发布时间】:2011-02-09 18:02:17
【问题描述】:

我创建了一个与 WCF 服务通信的“winform”应用程序。

winform 显示一个包含许多行的数据网格视图。用户可以选择(复选框)他希望打印的行,然后单击打印按钮。

选定的行被发送到我的 WCF 服务中的一个方法,该方法又返回一组二进制数据(要打印的文档)。返回后,我会在磁盘上为返回的集合中的每个二进制数据创建一个 pdf 文件。

完成后,那些新创建的文档将被发送到打印机……

注意: 在创建这些 pdf 文档之前,我需要创建一个“摘要”报告文档,它将在任何这些 pdf 文档之前打印。

为此,我在 WCF 服务中调用一个方法,该方法将返回二进制数据。然后我得到那个二进制文件并用它创建一个摘要 pdf 文档……

这是我的问题: 创建“总结报告”的最佳方法是什么?

到目前为止,我一直在尝试使用 Reporting Services 设计我的摘要报告,但我正在抓住希望在该报告中做的一些事情(即:尝试添加一个复选框列并制作它“选择”或不取决于特定规则和/或使我的报告双语......)。所以我在想,也许 RS 并不像我想象的那么灵活/直观……

我的 WCF 服务将调用 Reporting Services Web 服务,调用相应的报告并返回我将发送回 winform 应用程序的二进制数据。

我也想过使用水晶报表,但由于我从未使用过它,它会适得其反……

我能想到的最后一种选择是从我的 WCF 服务中调用一个网页,并传递必要的参数。网页会自行呈现,我会尝试将该网页转换为二进制数据,这些数据将由我的 WCF 服务方法返回……

虽然我没有尝试过最后一种选择,但我认为它可以让我更灵活地了解我能做什么/不能做什么。

有没有人有可以帮助我的建议或其他选择? 谢谢

【问题讨论】:

    标签: wcf reporting service report


    【解决方案1】:

    我没有意识到这篇文章仍然是开放的......

    如果有人想知道,这是我最终想出的解决方案:

    在我获得一组二进制数据并循环遍历该集合以在用户磁盘上生成物理 PDF 文件后,我需要一种方法来调用(第二次)我的 WCF 以生成摘要报告。渲染后,想法是获取生成的结果(二进制)并将该数据发送回 winform 应用程序,以便我可以创建一个漂亮的小 Summary.pdf 文件(在用户磁盘上)。

    完成后,使用第三方组件以编程方式将所有生成的 PDF 文件发送到打印机。

    现在……因为摘要报告可能需要一段时间才能呈现出来,所以我增加了超时的机会。增加超时不是一个合适的选择……

    因此解决方案是,我决定在我的 winform 应用程序中合并一个客户端报告定义文件 (.rdlc),而不是在服务器上调用/创建摘要报告。

    基本上,当我的 winform 应用程序安装时,它还包含一个 Summary.rdlc 文件。当适当的时候,我从我的 WCF 服务获取报告所需的数据,并将这些数据提供给 .rdlc 文件,该文件在用户计算机上本地呈现,进而在用户磁盘上创建一个 Summary.pdf 文件。

    就是这样!

    【讨论】:

      猜你喜欢
      • 2013-02-04
      • 2013-08-16
      • 1970-01-01
      • 2012-02-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多