我需要从WCF服务生成报告我的选项是什么?

我需要从WCF服务生成报告我的选项是什么?,wcf,reporting,service,report,Wcf,Reporting,Service,Report,我创建了一个与WCF服务通信的“winform”应用程序 winform显示一个包含多行的datagridview。用户可以选中(复选框)希望打印的行,然后单击“打印”按钮 所选行被发送到我的WCF服务中的一个方法,该方法反过来返回一个二进制数据集合(要打印的文档)。返回后,我在磁盘上为返回的集合中的每个二进制数据创建一个pdf文件 完成后,这些新创建的文档将发送到打印机 注: 在创建这些pdf文档之前,我需要创建一个“摘要”报告文档,该文档将在任何这些pdf文档之前打印 为此,我在WCF服务中

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

winform显示一个包含多行的datagridview。用户可以选中(复选框)希望打印的行,然后单击“打印”按钮

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

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

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

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

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

到目前为止,我一直在尝试使用Reporting Services设计我的摘要报告,但我想在该报告中做一些事情(例如:尝试添加复选框列并使其“选中”或“不选中”,取决于特定规则和/或使我的报告双语化……),这是我想要做的。所以我想也许RS没有我想象的那么灵活/直观

我的WCF服务将调用ReportingServicesWeb服务,调用适当的报表并返回二进制数据,然后将其发送回winform应用程序

我也曾想过使用Crystal Report,但由于我从未使用过它,它会适得其反

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

虽然我还没有尝试过最后一种选择,但我认为它可能会给我更多的灵活性来决定我能做什么/不能做什么

有人有什么建议或其他选择可以帮助我吗?
谢谢

我不知道这篇文章还没有发表

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

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

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

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

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

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

就这样