我有一些在我加入了一行代码一个WebMatrix的剃刀ASP.Net网站页面:
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>
}