1. ホーム
  2. asp.net

[解決済み] HttpContext.Current.Cacheはすべてのセッションで利用可能か?

2022-02-15 17:40:20

質問

タイトルの通りです。 私はあるデータをキャッシュオブジェクトに保存できるようにしたいのですが、このオブジェクトはすべてのユーザー/セッションが利用可能でなければならず、期限切れになることもあります。

asp.netのWebアプリケーションでこれを実現するための最良の方法は何ですか?

どのように解決するのですか?

HttpContext.Current は、すべての ページ しかし、必ずしもすべてのスレッドで使用できるわけではありません。 バックグラウンドのスレッド内で使用しようとした場合。 ThreadPool デリゲート、非同期呼び出し (ASP.NET Async ページを使用) などでは NullReferenceException .

もしライブラリクラス、つまり現在のリクエストに関する知識を持たないクラスからキャッシュにアクセスする必要がある場合は、次のようにします。 HttpRuntime.Cache 代わりに この方が HttpContext .