WebMatrix Razor ASP.Net サイトに、1 行のコードを追加したページがいくつかあります。
Response.OutputCache(600);
それについて読んだことから、これは、IIS がページによって生成された html のキャッシュを作成し、その html を次の 10 分間提供し、次の要求が入った 10 分後にコードを再度実行することを意味すると思いました。 .
現在、時間指定された jquery 呼び出しの一部としてページがフェッチされています。クライアントのタイム コードは毎分実行されます。そこにあるコードは非常に単純です。
function wknTimer4() {
$.get('PerfPanel', function(data) {
$('#perfPanel').html(data);
});
キャッシュしているように見えることもありますが、10 分間に実行されたデータベース クエリの数を見ると、100 をはるかに超えるデータベース クエリが存在する可能性があります。キャッシュが期待どおりに機能していないことはわかっています。キャッシュは単一のセッションでのみ機能しますか? 他に制限はありますか?
更新: jQuery 呼び出しを介してページをフェッチするか、直接の html を介してページをフェッチするかに関係なく、クライアントが何をするかは問題ではありません。サーバーがキャッシュしている場合、クライアントが何をするかは問題ではありません。
更新 2: ここにダンプされた完全なコード。退屈なもの:
@{
var db = Database.Open("LOS");
var selectQueryString = "SELECT * FROM LXD_funding ORDER BY LXDOrder";
// cache the results of this page for 600 seconds
Response.OutputCache(600);
}
@foreach (var row in db.Query(selectQueryString) ){
<h1>
<a href="Dashboard/FundingDetails/@row.Status">@row.quotes</a> Loans @row.NALStatus, oldest @(NALWorkTime.WorkDays(row.StatusChange,DateTime.Now)) days
</h1>
}