0

の使用でいくつかの問題が発生していますSystem.Web.Caching.Cache

基本的に私は使用しています

Cache.Insert(tablename, newlist, null, 
   System.Web.Caching.Cache.NoAbsoluteExpiration, 
   System.Web.Caching.Cache.NoSlidingExpiration);

オブジェクトをキャッシュに挿入Cache[tablename]し、Web フォームでそれらを取得します。

私が経験しているのは、これらのメソッドを呼び出すブラウザーを更新すると、データがそこにあり、Cache.Count がこれを反映しているということです。ただし、ブラウザを閉じて再度起動するか、テスト マシンまたは別のマシンで別のブラウザを起動すると、キャッシュされたデータはそこにありません。

つまり、セッション ストアを使用しているかのようにキャッシュが機能しています。また、アプリケーション ストアも使用してみましたが、まったく同じ結果が得られました。

アプリケーション プールの設定と web.config を確認しましたが、明らかな点は何もありません。

データベースに再クエリを実行してキャッシュに入れる情報を取得すると、Web フォームの速度が大幅に低下するため、これに関するヘルプは大歓迎です。

私が十分に明確であるかどうかはわかりません。
再現する。
ブラウザ 1 が Web ページを開く、キャッシュされたデータがない ブラウザ 1 が Web ページを
更新する、キャッシュされたデータ

ブラウザ 2 が Web ページを開く、キャッシュされたデータがない ブラウザ 2 が Web ページを
更新する、キャッシュされたデータ

ブラウザ 1 は Web ページ、キャッシュされたデータを更新します

ご覧のとおり、共通キャッシュではなく、セッションのみのデータであるかのように機能しています。コールバックを使用しても、データはまだそこにあり、新しいセッションで利用できないため、おそらく何もわかりません

4

1 に答える 1