我有一个服务可以呈现来自SSRS的报告,它可以在一个页面上完美地运行,但是当我尝试更改代码以分别渲染多个页面时,我似乎无法按预期工作。< / p>
我在MSDN博客上使用了一个指南(http://blogs.msdn.com/b/bryanke/archive/2004/02/11/71491.aspx#code)来尝试实现这一点,但我的StreamID似乎并没有像我预期的那样正常工作。
这里是我从Render()方法开始的代码(其余的似乎没问题,但我可以根据要求提供):
var firstPage = rsExec.Render(format.ToString(), deviceInfo,
out extension, out encoding,
out mimeType, out warnings, out streamIDs);
var numberOfPages = streamIDs.Length + 1;
results = new Byte[numberOfPages][];
results[0] = firstPage;
if (numberOfPages > 1)
{
for (int i = 1; i < numberOfPages; i++)
{
deviceInfo = $@"
<DeviceInfo>
<OutputFormat>JPEG</OutputFormat>
<StartPage>{i + 1}</StartPage>
</DeviceInfo>";
results[i] = rsExec.Render(format.ToString(), deviceInfo,
out extension, out encoding,
out mimeType, out warnings, out streamIDs);
}
}
这会生成报告,但我希望streamID成为所需额外页面的数量,但它始终只有一个条目。我在做一些愚蠢的错误吗?
我正在使用SQL Server 2008 R2。