0

ActiveReports 3.0 を使用して SQL Server ストアド プロシージャ ソースからレポートを生成する ASP.NET 2.0 アプリのバグを修正する必要があります。レポートは正常に実行されますが、データが正しくないため、ストアド プロシージャを修正し、ASP.NET インターフェイスを介してレポートを再実行しました。

私たちが見ているのは、ActiveReports がまだ初期バージョンのデータを表示していることです。実際、データがいつ生成されたかを示す proc から渡されたレポート データ フィールドがあり、それが古いデータであることを確認します。

そのため、ActiveReports は以前の結果をキャッシュしているようで、その機能をオフにしたいのですが、キャッシュがどのように機能するか (Time to Live など)、または構成または方法を説明するドキュメントはあまり見当たりません。無効にします。どんな洞察も大歓迎です。

ちなみに、これが関連しているかどうかはわかりませんが、WebViewer コントロールは使用せず、ActiveReport3 のインスタンスを作成し、それを Run() してから、PdfExport クラスを使用して PDF 画像を作成し、Response.BinaryWrite() を直接出力します。 .

4

1 に答える 1

1

ActiveReportsのキャッシュ機能に関するドキュメントが表示されない理由は、WebViwerコントロールを使用しない限りドキュメントがないためです:)ただし、説明するシナリオでは、Webviewerを使用せずにARはキャッシュ自体を実行しません。表示されているキャッシュは、ブラウザ、サーバー(ページまたはユーザーコントロールのASP.NET出力キャッシュを介して)などのHTTP出力キャッシュ、またはサーバーとクライアント間のプロキシが以前にレンダリングされた出力をキャッシュしていると思われます。

WebViewerは、ASP.NETに組み込まれているキャッシュ用フレームワーク(WebCache、HTTPキャッシュポリシーなど)を利用します。ActiveReportsが行うキャッシュを制御する方法を制御する方法については、WebViewerのSlidingExpirationIntervalプロパティClearCachedReportメソッドを参照してください。

于 2009-06-22T00:25:37.577 に答える