これは私の最初の投稿です。
私は、開発者が WebUserControls の形式で独自のプラグインを作成できるようにする CMS を作成しました。ユーザーはこれらのプラグインを (TinyMCE 経由で) コンテンツに挿入できます。これは、LoadControl メソッドを使用してプログラムで実行し、コントロール階層に追加してそのプロパティを設定します。これまでのところすべて順調です。
開発者が WebUserControls で OutputCache を使用できるようにしたいのですが、これらのコントロールは WebUserControl のプロパティによってキャッシュされる必要があります。たとえば、開発者はプロパティ Color (Red|Green|Blue) を持つ WebUserControl color.ascx を作成したため、このプロパティの値に応じて、キャッシュは赤、緑、および青のバージョンを格納できます。
私が抱えている問題は、ページに複数の、たとえば 3 つの color.ascx コントロール (赤、緑、青) が LoadControl で動的に読み込まれる可能性があることです。キャッシュされた後、LoadControl メソッドは正しく PartialCachingControl を返しますが、ページを更新すると、常にキャッシュからの最後のバージョンになります。つまり、ページには赤、緑、青ではなく 3 つの青が表示されます。
LoadControl (またはその他の手段) を使用してキャッシュから正しいバージョンをロードする方法、つまり Color プロパティを使用する方法はありますか? WebUserControls プロパティに基づいてキャッシュに確実に保存するには、OutputCache をどのように使用すればよいですか?
ご協力いただきありがとうございます。