レポートキャッシュは、C1ReportViewer コントロールの最も強力な機能の1つです。 デフォルトでは、コントロールがレポートをレンダリングするたびに、 結果の HTML ストリームを圧縮し、System.Web.UI.Page.Cache オブジェクトに格納します。 同じレポートが再度要求されると、 コントロールは単純にキャッシュからレポートを取得し、クライアントに直接送信します。 これにより応答時間が短縮され、メモリ消費量が減ります(レポートは圧縮形式でキャッシュされるため)。
コントロールはレポート定義の変更を検出し、キャッシュ内の複数のバージョンを追跡できます。 また、レポート定義ファイルの変更を検出し、 古いレポートをキャッシュから削除することもできます。
キャッシュオブジェクト自体は、ASP.NET フレームワーク(System.Web.UI.Page.Cache プロパティ)によって提供されるため、 Web ファームシナリオなどの各種サーバー設定に合わせてセットアップできます。
C1.Web.Wijmo.Controls.C1ReportViewer.ReportService.ReportCache オブジェクトでは、 キャッシュの無効化、タイムアウト値の指定、(たとえばデータソースファイルへの)依存性の追加などの設定を行えます。
// キャッシュの有効化 _c1wr.Cache.Enabled = true; // キャッシュしたレポートは1時間で失効 _c1wr.Cache.Expiration = 60; // キャッシュからレポートが取得されたら1時間の制限を更新 _c1wr.Cache.Sliding = true;