ASP.Net缓存技术
缓存分为页面缓程和应用程序缓存
1.页面缓存
。整页缓存
<%@ OutputCache Duration="5" VaryByParam="none" %>
*缓存标记 * 缓存周期时间 *缓存改变的条件
<%@ OutputCache Duration="30" VaryByControl="DropDownList1" %>
*表示随着DropDownList1值的变化而变化
<%@ OutputCache Duration="5" VaryByParam="cid" %>
*缓存将随着QueryString参数cid的变化而刷新
。页面部分缓存
<%@ OutputCache Duration="30" VaryByParam="none" %>
在页面中添加一个 Substitution控件(占位符)
在后台写一个static静态反回值为string,参数为HttpContext方法
public static string GetTime(HttpContext context)
{
return DateTime.Now.ToLongTimeString();
}
将该方法绑定到Substitution占位符控件属性MethodName中
2.应用程序缓存
在A.aspx中添加一个Gridview和一个链接到B.aspx页面的LinkButton
A.aspx后面代码如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
BinderToGridView();
}
}
private void BinderToGridView()
{
//向服务器请求数据
SqlConnection sqlcon = new SqlConnection("server=.;uid=sa;pwd=;database=NorthWind");
sqlcon.Open();
SqlDataAdapter sda = new SqlDataAdapter("select * from Product",sqlcon);
DataSet ds = new DataSet();
sda.Fill(ds,"p");
sqlcon.Close();
//将数据存入本地内存
Cache.Insert("NorthWind", ds);
//在Default5.aspx中显示数据
this.GridView1.DataSource = ds.Tables["p"].DefaultView;
this.GridView1.DataBind();
}
B.aspx页面的代码
protected void Page_Load(object sender, EventArgs e)
{
DataSet ds=Cache.Get("NorthWind") as DataSet;
if(ds==null)
{
Response.Write("本地缓存中不存在类似的数据");
Response.Redirect("Default5.aspx");
}
else
{
this.GridView1.DataSource = ds.Tables["p"].DefaultView;
this.GridView1.DataBind();
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!