私はASP.NET MVC Webアプリケーションでキャッシュを使用して、めったに更新されないリストデータを保存しようとしています。ASP.NETでキャッシュを使用する
HttpContext.Current.Cache.Insert("MyApp-Products", products, null, DateTime.Now.AddYears(99), Cache.NoSlidingExpiration);
はその後、私のモデルでは、私はそれを取得:
public static List<string> GetProducts()
{
var cachedProducts = HttpContext.Current.Cache["MyApp-Products"];
if (cachedProducts == null)
{
UpdateCache();
cachedProducts = HttpContext.Current.Cache["MyApp-Products"];
}
return ((List<string>)cachedProducts);
}
私は予想通りページ、UpdateCache()
が呼び出された訪問は初めて私はこのようなUpdateCache()
方法でキャッシュにこのデータを挿入します。リフレッシュすると、データはキャッシュから取得され、UpdateCache()
に電話する必要はありません。しかし、15分後にアプリに戻り、キャッシュされた値はなくなりました。私の理解では、このキャッシュはセッション単位ではなくアプリケーション単位であったため、自分自身や他のユーザーのためにそこに存在することを期待していました。
キャッシュを保存する方法に問題がありますか?または、ASP.NETのCache
がどのようにWebアプリケーションで動作するのか分からないことがありますか?
IISでアイドルタイムアウトとは何ですか?あなたのアプリケーションがシャットダウンしているだけですか?デフォルトは20分です。 –
私はIISに慣れていません。 IISマネージャーでこの設定を見つけることはできますか? – Paul
私はそれを見つけました。それが問題だと私は思う。ありがとう! – Paul