关闭

在ASP.Net中如何管理cache

发表于:2009-12-18 14:52

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:未知    来源:51Testing软件测试网采编

  1.4 ASP.NET 页面输出缓存

  有的时候在web站点中,有些页面在很长一段时间内都不会发生变化,例如一个招聘网站,它对于工资的描述文字一般不会经常更改,一般都是一个月更改一次,所以在这一个月内,用户看到的内容都是一样的,所有如果把数据缓存在服务器端并不是完美的解决方案。这里可以用页面输出缓存。

  下面是示例代码:

  <%@OutputCache Duration="60" VaryByParam="empNum" Location="Server"%>

  2、客户端缓存:

  在上面的文章中,我讨论了些数据缓存在服务器端的方法,然而有的时候我们为了提高性能我们要把有些数据缓存到客户端。利用这种机制来达到缓解服务器压力,不过在客户端缓存数据会有各种不同的安全性问题,下面我说简要的说下相关内容:

  2.1 Cookies:cookies在WEB程序开发中应用的非常广泛,它可以非常方便的在客户端与服务器端相互访问,不过它有数据大小限制,最大为4K,所有用它经常是保存小数据。同时cookie对于失效的控制也支持的相当完美。

  下面是示例代码:

  if (this.Request.Cookies["MY_NAME"] == null)
  {
  this.Response.Cookies.Add(new HttpCookie("MY_NAME",
  "Shubhabrata Mohanty"));
  }
  else
  {
  this.Response.Write(this.Request.Cookies["MY_NAME"].Value);
  }

  2.2 ViewState:ViewState是一个全新的概念,它一般用于页面或者是控件中保留数据以供和服务端交通。在ASP中的,我们存储数据是用隐藏控件来完成(Hidden fields),ViewState也是这样用的,只不过它比隐藏控件更加安全性,所有的值都是经过hash处理的。如果你查看页面源代码,你都会看到ViewState的存在,一般ViewState不用来保存大的数据。

  下面是示例代码:

  protected void Page_Load(object sender, EventArgs e)
  {
  if (this.ViewState["MY_NAME"] == null)
  {
  this.ViewState["MY_NAME"] = "Shubhabrata Mohanty";
  }
  //txtName is a TextBox control
  this.txtName.Text = this.ViewState["MY_NAME"].ToString();
  }

  2.3 隐藏控件 Hidden fields:它是最简单的,不用多说

  下面是示例代码:

  <!--In ASP.NET-->
  <asp:HiddenField ID="myHiddenField" Value="Shubhabrata"
  runat="server" />
  <!--In HTML-->
  <input id="myHiddenField" type="hidden" value="Shubhabrata" />

44/4<1234
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号