在我的应用程序中,我有一个存储在Reporting Services中的图表,有一个称为“RenderStream”的方法,但该方法会出现以下错误:

“System.Web.Services.Protocols.SoapException未由用户代码处理
Message =“System.Web.Services.Protocols.SoapException:所选报表尚未准备好查看。该报表仍在

渲染或报告快照不可用。 ---> Microsoft.ReportingServices.Diagnostics.Utilities.ReportNotReadyException:

所选报告尚未准备就绪,无法查看。报告仍在呈现中或报告快照不可用。\n位于

Microsoft.ReportingServices.WebServer.ReportExecution2005Impl.RenderStream(字符串格式,字符串StreamID,字符串DeviceInfo,字节[]&

结果,字符串和编码,字符串和MimeType)\n,位于Microsoft.ReportingServices.WebServer.ReportExecutionService.RenderStream(String

格式,字符串StreamID,字符串DeviceInfo,字节[]&结果,字符串和编码,字符串和MimeType)“

有人遇到过这个错误吗?

提前谢谢了,
克里斯。

最佳答案

由于有关RenderStream()用法的文档非常有限,我收到此错误,但是找到了解决方法。 RenderStream()需要一个StreamId才能传递给它。您将从Render()方法中接收到这些ID的数组。因此,必须在调用RenderStream()之前先调用Render()。此外,Render()在ExecutionHeader中返回一个ExecutionId。此ID必须在RenderStream()方法中传递,并且也包装在ExecutionHeader对象中。一旦这样做,错误就消失了,报告生成了我想要的图像。希望这可以帮助某人。

关于c# - 在Reporting Services 2008 Web服务中调用renderstream时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2014233/

10-11 05:07