0

我們使用SSRS 2005 SP1和最新的Reportviewer控件。
我們遇到了某些報告基礎架構異常未暴露給任何異常處理例程的情況。SSRS 2005例外未曝光

一個特定的示例是SQL Server Reporting Services Windows服務由於VM問題而意外停止。在這種情況下,該報告正確地呈現,但是當顯示的報表查看器Web控制範圍內的用戶,用戶將看到以下消息,而不是報告:

An error has occurred during report processing. 

The Report Server Windows service 'ReportServer$MSSQL2005' is not 
running. The service must be running to use Report Server. 

的問題是,我們在所有可能的捕捉異常位置:所有頁面後面的方法,ReportViewer OnReportError和應用程序OnError處理程序。在任何時候,我們都看不到客戶端代碼的異常。在調試器中運行時,異常在執行過程中被拋出,但不會引發到客戶機代碼。

有沒有人見過這個?

回答

0

我在報告服務2008中看到類似於此的東西,我試圖捕獲某些類型的異常。 No one else replied to my question either.

但是我問這個問題之後所學的東西可能會對你有所幫助。我去了並使用了反射器,並繞過某些DLL。我搜索了我所看到的特定字符串,並發現Reporting Services似乎可以捕獲它自己的異常,並且只是拋出字符串,所以對於這種類型的問題並沒有太多的辦法可以避免對DLL本身進行黑客攻擊。除了必須刪除強名稱驗證並使其完全無法維護以外,這種方法纔有效。

1

感謝您的回覆鮑勃。 SSRS正在吃掉這些例外令人驚訝和失望。我們可能會遠離黑客攻擊DLL並試圖找出一種方法來監視和警告SSRS內部日誌。