簡體   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