在我的应用程序中,我有一个存储在 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,字符串设备信息,字节 []&
结果、字符串和编码、字符串和 MimeType)\n 在 Microsoft.ReportingServices.WebServer.ReportExecutionService.RenderStream(String
格式、字符串流ID、字符串设备信息、字节[]&结果、字符串&编码、字符串&MimeType)"
有没有人遇到过这个错误?
非常感谢, 克里斯。
最佳答案
由于有关 RenderStream() 用法的文档非常有限,我收到了这个错误,但我找到了解决方案。 RenderStream() 需要一个 StreamId 传递给它。您从 Render() 方法接收到这些 ID 的数组。因此,您必须在调用 RenderStream() 之前调用 Render()。此外,Render() 在 ExecutionHeader 中返回一个 ExecutionId。此 ID 必须在 RenderStream() 方法中传递,也包含在 ExecutionHeader 对象中。一旦我这样做了,错误就消失了,报告生成了我正在寻找的图像。希望这可以帮助那里的人。
关于c# - 在 Reporting Services 2008 webservice 中调用渲染流时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2014233/