キャッシング機能を備えたWebアプリケーションを実装しようとしています。キャッシングが必要な理由は、ユーザーがオンラインコースにアクセスできるようにするアプリケーションがあるためです。ここで、ユーザーがログインしたら、データベースに対してユーザーを検証します。検証されたら、ユーザーIDとコースIDをキャッシュに20分間保存して、ユーザーが再度リクエストした場合に、ユーザーIDとコースIDの両方の値をキャッシュから取得できるようにします。有効な場合は、アクセスを許可します。何らかの理由でアクセスできません。このアプリケーションではセッション変数を使用するため、オプションではありません。
これで、アプリケーションのキャッシュコードはHTTPハンドラー(.ashxファイル)内にあります。ここで、aspxページの場合と同じようにキャッシュオブジェクトを呼び出そうとしましたが、おそらくそれがハンドラーであり、Webページではないためにできませんでした。それで、
Cache.Insert("Id", 123);
ハンドラーでは機能しません。そこで、HTTPRuntime.cacheを試しました。しかし、いくつかの調査を行った後、HTTPRuntime.cacheがアプリケーション全体に共通していることがわかりました。「アプリケーション全体」がよくわかりません。これは、アプリケーションにアクセスするさまざまなコンピューター上のすべてのユーザーによって共有されることを意味しますか?または、アプリケーションにアクセスする1台のコンピューター上のすべてのユーザーによって共有されることを意味しますか。後者なら大丈夫だから。では、HTTPRuntime.cacheは、1つのブラウザー(または1つのコンピューター)のデータをキャッシュするための優れた方法ですか、それともデータを格納するためのブラウザーのキャッシュを実装するための別のより良い方法がありますか?