出力キャッシュを必要とする ASP.NET アプリケーションがあります。Web サービスから返されたデータが変更されたときにキャッシュされたアイテムを無効にする必要があるため、単純な期間では十分ではありません。
私はキャッシュの依存関係について少し読んでいて、正しい考えを持っていると思います。Web サービスへのキャッシュ依存関係を作成する必要があるようです。
ページ出力をこの依存関係に関連付けるには、次の方法を使用する必要があると思います。
Response.AddCacheItemDependency(cacheKey);
私が苦労しているのは、キャッシュに何を追加すればよいですか?
私のページの依存関係は、Web サービスによって返される単一の値です。私の現在の考えでは、CacheDependency をサブクラス化してカスタム キャッシュ依存関係を作成し、現在の値をキャッシュに格納する必要があります。次に、Response.AddCacheItemDependency を使用して依存関係を形成します。
その後、値と NotifyDependencyChange を定期的にチェックして、キャッシュされた HTTP 応答を無効にすることができます。
問題は、キャッシュがすぐにフラッシュされるようにする必要があるため、定期的なチェックでは十分ではないということです。HTTP 応答がキャッシュからフェッチされる前に、Web サービスによって返された値を表すキャッシュ内の依存オブジェクトが再評価されるようにするにはどうすればよいですか?
よろしく、コリンE.