C# 在reporting services 2008 webservice中调用renderstream时出错

C# 在reporting services 2008 webservice中调用renderstream时出错,c#,asp.net,sql,ssrs-2008,C#,Asp.net,Sql,Ssrs 2008,在我的应用程序中,我有一个存储在Reporting Services中的图表,有一个名为“RenderStream”的方法被调用,但它给出了以下错误: “System.Web.Services.Protocols.SoapException未由用户代码处理 Message=“System.Web.Services.Protocols.SoapException:所选报告尚未准备好查看。报告仍在编写中 已呈现或报表快照不可用。-->Microsoft.ReportingServices.Diagn

在我的应用程序中,我有一个存储在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(字符串格式、字符串流ID、字符串设备信息、字节[]和

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

格式、字符串流ID、字符串设备信息、字节[]和结果、字符串和编码、字符串和MimeType)”

以前有人遇到过这个错误吗

多谢各位,
克里斯。

尝试禁用快照隔离

alterdatabaseadventureworks
将ALLOW_SNAPSHOT_ISOLATION=OFF设置为ALLOW_SNAPSHOT_ISOLATION=OFF

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

有什么解决方案吗?我也看到了与我正在开发的应用程序完全相同的现象/