views:

214

answers:

1

I'm needing to fix a bug in an ASP.NET 2.0 app that uses ActiveReports 3.0 to generate reports from a SQL Server stored proc source. The report runs fine, but the data was incorrect, so we fixed the stored proc and reran the report through the ASP.NET interface.

What we're seeing is that ActiveReports is still displaying the early version of the data. In fact there is a report data field passed through from the proc that indicates when the data was generated, and it confirms that it's the stale data.

So it seems that ActiveReports is caching the earlier result, and we'd like to turn that functionality off, but I'm not seeing much in the documentation to explain how the cache works (time to live, etc) or how to configure or disable it. Any insight would be greatly appreciated.

Incidentally, not sure this is relevant, but we do not use the WebViewer control, rather we create an instance of ActiveReport3, Run() it, and then use the PdfExport class to create a PDF image and Response.BinaryWrite() it out directly.

+1  A: 

The reason you don't see documentation about the caching functionality in ActiveReports is because there is not any unless you use the WebViwer control :) However, in the scenario you describe -without using the webviewer- AR won't perform any caching itself. I suspect that the caching you're seeing is HTTP output caching such as the browser, server (via ASP.NET output caching of a page or usercontrol), or some proxy between the server and client is caching the previously rendered output.

The WebViewer does take advantage of ASP.NET's built in framework for caching (e.g. WebCache, HTTP cache policies, etc.). See the WebViewer's SlidingExpirationInterval property and ClearCachedReport method for information on controlling how to control the caching that ActiveReports does do.

scott