水晶报表-序列化

2020-09-21 09:26发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 ...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我正在使用CrystalDecisions 13.0.1 dll。 (由于许可问题而无法升级)

我正在使用 asp.net 4.7。

我想禁用系统中的会话。 因此,我无法在会话中保存" ReportDocument"对象,因此可以在回发时(使用分页等时)读取它。

所以我想序列化对象,以便将其存储在缓存服务器(couchbase)中

我看到了这个例子:

ISCDReportClientDocument ReportClientDocument = doc.ReportClientDocument;

CrystalDecisions.ReportAppServer.Utilities.Conversion转换器=新的CrystalDecisions.ReportAppServer.Utilities.Conversion();

serializedCrystalReportDocument = converter.ToString(ReportClientDocument);

但是我的CrystalDecisions.ReportAppServer dll版本中不存在"实用程序"命名空间。

我还有另一种方法来序列化/反序列化此对象吗?

谢谢

5条回答
小灯塔
2020-09-21 09:44 .采纳回答

要进行反序列化,有一种方法可以传递序列化字符串。

ReportClientDocument rcd = converter.ToReportClientDocument(serializedCrystalReportDocument)

这仅在使用RAS服务器的客户端-服务器方案中有效。 在您的情况下,您没有使用RAS服务器来处理报告,并且您的报告正在运行中。 ReportDocument和ISCDReportClientDocument对象不可序列化,这说明了为什么结果为空的原因。

序列化的字符串不是文档,而是包含足以连接回存储文档状态的RAS服务器的信息的字符串,因此仅在后端RAS服务器上处理报告的情况下才有效 。 为此,您需要一个BusinessObjects Enterprise系统或Crystal Reports Server Edition。

一周热门 更多>