1

我已经搜索了每个地方(我认为),但我一直无法找到答案,也许是因为它太初级了,但这里就可以了。我最近将 Silverlight 业务应用程序部署到 Windows Azure 平台。我正在使用 Crystal Reports 进行报告,一切正常。我需要在 SSL 中运行该应用程序,因此我购买了一个证书并按照说明启动并运行该应用程序,除报告外,一切正常。当我通过 http 访问该站点时,打印报告没有问题。但是当我尝试打印报告时,通过 https 我得到以下信息:

不支持的操作。JRC 引擎处理的文档无法在 C++ 堆栈中打开。

描述:

当前 Web 请求执行期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详情:

System.Runtime.InteropServices.COMException:不支持的操作。JRC 引擎处理的文档无法在 C++ 堆栈中打开。

源错误:

在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:

[COMException (0x80041811): Unsupported Operation. A document processed by the JRC engine cannot be opened in the C++ stack.]
   CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.Open(Object& DocumentPath, Int32 Options) +0
   CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.Open(Object& DocumentPath, Int32 Options) +147
   CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +422
[CrystalReportsException: Load report failed.]
   CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.EnsureDocumentIsOpened() +549
   CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename, OpenReportMethod openMethod, Int16 parentJob) +1613
   CrystalDecisions.CrystalReports.Engine.ReportDocument.Load(String filename) +189
   COCOBOLO.Web.Files.ReportHandler1.MeetingMinutes() +247
   COCOBOLO.Web.Files.ReportHandler1.Page_Load(Object sender, EventArgs e) +2392
   System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
   System.Web.UI.Control.LoadRecursive() +71
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3064

我几乎可以肯定使用带有 SSL 的 Crystal Reports 存在权限问题,但我不知道该怎么做。有人遇到过这个问题吗?请帮忙!

4

2 回答 2

0

由于您的堆栈跟踪显示加载报告失败,我要做的第一件事是检查您的项目中是否有报告并且您的代码能够访问该报告。我知道使用 HTTP 一切正常。此外,请确保您对存储报告的文件夹具有读写权限。

于 2013-03-02T03:05:16.873 回答
0

问题不在您的水晶报告中。问题是因为 ssl 不想加载 pdf 文件。

使用基于 ssl/https 在 iframe 中显示 pdf

您可以尝试在 chrome 商店中下载 pdf 查看器,它适用于 ssl 和我。

最良好的问候。

于 2016-01-29T08:05:39.517 回答