現在、私は次の方法からすべての〜5000の異なるページを持つアプリケーションに取り組んでいます:
[OutputCache(Duration = 604800)]
public ActionResult Details(string alias){ //database connection and data retrieval - takes about 11 seconds }
この方法は初めて実行するのに時間がかかります - 明らかに、これを高速化するための解決策を考えている間、このデータベースのデータは頻繁に変更されず、変更されても緊急ではないため、長期的なサーバー側の出力キャッシュの使用を検討し始めました。
前述したように、この Details メソッドからの結果は合計で 5000 まで異なるため、キャッシュはそれほど大きくありません。
問題: サイトを読み込んでサイト クローラーを実行した後、一部のページがキャッシュされませんでした。キャッシュ用のバッファーがいっぱいになり、MVC が古いキャッシュを削除して新しいキャッシュに道を譲り始めたためだと思います。
MY QUESTION: 有効期限 (1 週間) に達しない限り、ASP.net MVC にキャッシュをクリアしないようにするにはどうすればよいですか? または、有効期限まで OutputCache を強制的に永続化しますか?
みんな、ありがとう。