サイトコアでは FieldRenderer や Text コントロールなどページエディター上でフィールドのインライン編集をサポートするWebコントロールが用意されていますが、それらのコントロールはキャッシュをサポートしていません。今回は Webコントロールでキャッシュを有効化する方法の覚書を記載します。

Web コントロールでキャッシュを有効化したい場合は GetCachingID() をオーバーライドして コントロールを識別する一意の識別子(定義アイテムの識別子や クラスの完全修飾名など) の文字列を返すようにします。FieldRenderer等のフィールドレンダリング用のWebコントロールだけでなく、 MethodレンダリングやUrlレンダリングもデフォルトではキャッシュをサポートしていません。

キャッシュは言語バージョンごとに作成されます。キャッシュの設定値とキャッシュが作成される単位のメモも下表に記載しておきます。

キャッシュの設定 説明
VaryByData DataSource ごとにキャッシュデータを作成する。
VaryByDevice デバイス名ごとにキャッシュを作成する。
VaryByLogin ユーザーが認証されている場合と、匿名ユーザーの場合でキャッシュデータが作成される。
VaryByUser ユーザーごとにキャッシュデータを作成する。匿名ユーザーはAnonymous というユーザー扱い
VaryByParm レンダリングパラメーターごとにキャッシュを作成する。
VaryByQueryString クエリ文字列ごとにキャッシュを作成する。

簡単ですが説明は以上です。