2009-06-11 72 views
0

我需要修復使用ActiveReports 3.0從SQL Server存儲過程源生成報告的ASP.NET 2.0應用程序中的錯誤。報告運行正常,但數據不正確,所以我們修復了存儲過程並通過ASP.NET界面重新生成了報告。如何在ActiveReports 3.0 for .NET中禁用數據緩存?

我們看到的是ActiveReports仍然顯示早期版本的數據。事實上,從proc傳遞的報告數據字段指示數據何時生成,並且它確認它是陳舊的數據。

因此,ActiveReports似乎在緩存早期的結果,並且我們希望關閉該功能,但我沒有在文檔中看到很多解釋緩存如何工作(生存時間等)或如何配置或禁用它。任何有識之士將不勝感激。我們不使用WebViewer控件,而是創建一個ActiveReport3,Run()它的實例,然後使用PdfExport類創建一個PDF圖像和Response.BinaryWrite() )直接出來。

回答

1

你沒有看到有關ActiveReports中緩存功能的文檔的原因是因爲沒有任何東西,除非你使用WebViwer控件:)但是,在你描述的情況下 - 不使用webviewer- AR將不會執行任何緩存本身。我懷疑你看到的緩存是HTTP輸出緩存,例如瀏覽器,服務器(通過ASP.NET輸出緩存頁面或用戶控件),或者服務器和客戶端之間的某個代理正在緩存先前呈現的輸出。

WebViewer確實利用ASP.NET內置的緩存框架(例如WebCache,HTTP緩存策略等)。有關控制ActiveReports如何控制緩存的信息,請參閱WebViewer的SlidingExpirationInterval propertyClearCachedReport method