cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Crystal Reports - Serialization

0 Likes
2,018

Hello,

I'm using CrystalDecisions 13.0.1 dll's. (unable to upgrade due to licensing issues)

I am using asp.net 4.7.

I would like to disable the use of sessions in my system. Therefor I can't save the "ReportDocument" object in a session so I could read it on postbacks (when using paging etc...).

So I would like to serialize the object so I could store it in my cache server (couchbase)

I saw this example:

ISCDReportClientDocument ReportClientDocument = doc.ReportClientDocument;

CrystalDecisions.ReportAppServer.Utilities.Conversion converter = new CrystalDecisions.ReportAppServer.Utilities.Conversion();

serializedCrystalReportDocument = converter.ToString(ReportClientDocument);

But "Utilities" namespace does not exist in my version of CrystalDecisions.ReportAppServer dll.

Do I have another way to serialize/deserialize this object?

Thanks

View Entire Topic
daniel_paulsen
Product and Topic Expert
Product and Topic Expert

To Deserialize , there is a method where you pass in the serialize string.

ReportClientDocument rcd = converter.ToReportClientDocument(serializedCrystalReportDocument)

This will only work in a client-server scenario where you are using a RAS server. In your case, you are not using a RAS server to process reports and your reports are running in-process. The ReportDocument and ISCDReportClientDocument objects are not serializable, which explains why your result is null.

The serialized string is not the document, but rather a string containing enough information to connect back to a RAS server where the document state is stored, so this will only work in the case where a report is processed on the backend RAS server. You need a BusinessObjects Enterprise system or Crystal Reports Server Edition for this.

Dan