繁体   English   中英

在C#中渲染为MHTML时SSRS的虚假异常

[英]Bogus Exception from SSRS when rendering to MHTML in C#

环境是Windows 2008服务器上的SQL Server 2008 Web Edition。 SSRS已安装且正在运行-即我可以从报告管理器中查看,刷新和导出报告。

由于该版本的限制,我编写了一个简单的ASP.NET包装器来呈现报告并将其通过电子邮件发送给我。 这非常适合HTML或PDF。 我想将其呈现为MHTML并将其添加到电子邮件中-这在我第一次运行它时也有效。 在随后的情况下,除非我停止并在配置管理器中重新启动SSRS服务,否则我会得到:

您尝试使用未为此报表服务器注册或此版本的Reporting Services不支持的呈现扩展。 (rsRenderingExtensionNotFound)

显然,这是不正确的,它已经注册并且确实有效。 如果切换到以前的一种格式,我可以运行任意多次的渲染。 我想知道是否正在使用文件系统的某些部分,或者是否可能在不同时间之间存在缓存文件? 症状有点像ASP.NET应用程序使用文件时需要刷新应用程序池。

实际执行的代码是:

byte[] bytes = ReportViewer1.ServerReport.Render("MHTML", null, out mimeType, out encoding, out extension, out streamids, out warnings);

我不确定接下来要尝试什么,我真的希望它呈现MHTML,因为当我将其拆分为电子邮件时,可以直接在电子邮件正文中完美呈现报告。

救命! TIA,M

因此,官方的答案是它不起作用-Web Edition至少将渲染禁用为MHTML作为其配置的一部分。 这似乎是一个错误,它仅在处理报告之后才会发生,并且确实会在第一次迭代后成功,而对其他迭代失败。

我最终渲染为HTML,解析出图像SRC,将它们作为图像流抓取并将它们附加到电子邮件中,用cid:s替换URL效果很好。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM