0
私はASP.NET Webformsアプリケーションを持っています。パフォーマンスを向上させるために私はプログラムでマスターページのページの読み込みにOutputcacheを設定します。Outputcacheの期限切れが早すぎるのはなぜですか?
protected void Page_Load(object sender, EventArgs e)
{
// [...] do stuff [...]
if (!Page.IsPostBack)
{
Response.Cache.SetCacheability(HttpCacheability.Server);
Response.Cache.SetValidUntilExpires(true); // ignore Cache-Control Header from Request
Response.Cache.SetSlidingExpiration(false);
Response.Cache.VaryByParams["*"] = true;
Response.Cache.SetExpires(somedateinthefuture); // plus 5 Days from now
Response.AddFileDependency(pathtoafile); // a file which will be overwritten when cache should be fully cleared (this works)
}
}
ので、HTMLがキャッシュされているすべての一意のURLのために。これはかなりうまくいく。
問題:
- 多数のエントリは、それが
- いくつかのエントリが24時間以上の滞在何日も続くはずですが、また期間 する前に削除されますが、キャッシュからの1または3分後にランダムに削除されます
- 依存-ファイルがUPDATされていない。私がチェック何
- IIS-アプリケーションまたはアプリケーションプールは
- シングルアイテムが行うプロダクション・サイトで、その後ずっと長くとどまる再起動またはプールのメモリがテスト・サイトOutputcacheで最大
- ではない
- リサイクルされていません"STRG + F5" を押すと、全体のキャッシュ
- はというサイト
- が除去Oが発生する可能性がありますどのようなASP.NET 4.6.1
ED
、IIS 7.5を再ロードし、有効期限が切れていませんf単一キャッシュ項目。たぶんボットですか?しかし、SetValidUntilExpires(true)によってこれを防ぐべきではありませんか?