2009-06-11 68 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