私はカスタムのブログページを持っています。ページの右側には、最も人気のあるブログを示す「パネル」と、最後にブログに最も多く投票した人々週3つの他のものがあります。これらのパネルはすべて重いSQLです。彼らはロードに数秒かかります。ここ ポストバック時にキャッシュされたコントロールが実行されないようにする
はラフレイアウトの概要です:彼らはそれほど頻繁に、すべてを変更するためにバインドされていないので、私はWebBrowserコントロールにそれらのすべてを分離しました Balsamiqで作成
モックアップ(た.ascx global.asax
に私は私のカスタムキャッシュ変数を一致させるためにこれを持って
<%@ OutputCache Duration="7200" VaryByParam="*" VaryByCustom="CacheByModule" %>
そして:)と彼らはすべての出力キャッシュを持っています:私が最初に私のページを実行すると
public override string GetVaryByCustomString(HttpContext context, string custom)
{
switch (custom.ToLower())
{
case "cachebymodule":
Request.Url.PathAndQuery.Split('/')[0];
break;
}
return base.GetVaryByCustomString(context, custom);
}
私は基本的にすべての..
を私のウェブサイト、ブログ、投票、調査、クイズ、などのさまざまな部分のために同じことをやっていますそれらは実行されている - 期待されている。 次の実行時には実行されません。
これは毎回発生します。私は投稿バックイベントであるブログに対してコメントや返信を行い、コメントセクションにajax更新パネルを使用しています。私の右サイドパネルはすべて実行中です!
どうすればよいですか?私がアプリケーションをデバッグすると、その中のブレークポイントが応答と削除(ポストバックイベント)のためにヒットしています。 SQLプロファイラは、確認の2倍の数だけ表示されます。
これは予期された動作ですか?それらをキャッシュする全体のポイントは決して実行されないためです。しかし、すべての返信と削除でそれらは実行されています。それらが実行されない時間は、新しいページの読み込み(およびキャッシュの制限時間内)です
なぜ、ポストバックで実行されているのですか? どうすればいいですか? URL +のparamsは、PageLoad /ポストバックのために同じではありませんので、
おかげ
ああ、さて、これを試してみて、ちょっと戻ってくるよ、ありがとう – LocustHorde
ああ!!!!それだった!私はどれほど幸せであるか、おかげさまではありません。 – LocustHorde
@LocustHordeあなたは非常に歓迎されています。自分自身のような問題に多くの時間を費やしています – ntziolis