.net 推出了三种缓存技术:
- 整页缓存。(输出缓存)
- 页面部分缓存。(缓存后替换)
- 应用程序缓存。(放在Cache, 与Application相比, 有过期时间)
下面的代码是整页缓存:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="PageCache.aspx.cs" Inherits="PageCache" %>
<%@ OutputCache Duration="5" VaryByParam="id" VaryByControl="ddlTest" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:DropDownList ID="ddlTest" runat="server"
onselectedindexchanged="ddlTest_SelectedIndexChanged" AutoPostBack="True">
</asp:DropDownList>
当前系统时间:<asp:Label ID="lblTime" runat="server"></asp:Label>
</div>
</form>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class PageCache : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.lblTime.Text = DateTime.Now.ToString();
if (!this.IsPostBack) {
ddlTest.Items.Add(new ListItem("1","1"));
ddlTest.Items.Add(new ListItem("2", "2"));
ddlTest.Items.Add(new ListItem("3", "3"));
}
}
protected void ddlTest_SelectedIndexChanged(object sender, EventArgs e)
{
this.lblTime.Text = DateTime.Now.ToString();
}
}