当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP.NET2.0的缓存控件和地址映射

ASP
asp分页(自己整理的2个分页程序)
ASP常用的系统配置函数
雨哲防采集策略之列表篇
雨哲浅谈关于防采集而不影响收录内容篇
asp数据库连接函数
ajax XMLHTTP Post Form时的表单乱码综合解决
ASP注入详细命令40条
用ASP实现MSSQL用户密码破解
ASP创建对象的两种方法比较
ASP字符串转换为整形、双精度型、布尔
ASP计算str2在str1中出现的次数
asp采集抓取网上房产信息的代码
ASP注册登陆实例代码
ASP中使用FileSystemObject时提高性能的方法
分享一个好东东,动态Include文件 (Dynamic File Includes)
解决 JScript 中使用日期类型数据时出现类型错误的问题
在ASP里面创建GUID
在JScript中使用缓存技术的实际代码
ASP javascript Application对象的Contents和StaticObjects做Cache的一些经验
海阳2006+功能中的潜水王

ASP.NET2.0的缓存控件和地址映射


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 142 ::
收藏到网摘: n/a

在asp.net 2.0中,引入了很多新的控件和功能,比起之前的asp.net 1.0 和asp.net 1.1,有了革命性的改变。本文将简单介绍其中的两个新的功能:缓存功能和地址映射功能。本文以.net framework 2.0 和visual web developer 2005 beta 为工具,介绍这两个新增的功能。

  一 Substitution缓存控件

  在asp.net 2.0之前的.net 版本中,可以引入缓存功能,将大大增强应用程序的性能。但唯一不足的是,一旦使用缓存功能的话,一般都是全部使用缓存,但在有的应用中,有的时候可能需要只对页面的某些控件内容使用缓存,而其他部分将不使用缓存功能,不使用缓存功能的控件将实时地获得服务器上最新的内容。比如,一个web应用中,一些固定的网页信息,如页面底部的版权信息,或者是一些不是经常更新的信息,可以使用缓存功能,但一些比较实时的信息,如股票价格走势图等,就不能使用缓存功能了。这种情况下,以往的asp.net 比较难实现,但在asp.net 2.0中,可以通过简单使用substitution缓存控件就可以实现了。下面讲解一下,如果在一个使用了缓存功能的页面中,如何通过substitution控件使某些部分控件不应用缓存。

  下面举个简单的例子。在这个例子中,将显示两个时间,其中一个时间显示是应用了缓存功能的,设定的缓存时间是30秒,另一个显示的时间则并没有应用缓存功能,会随着页面的每次刷新获得最新的时间,代码如下:

<%@ outputcache duration="30" varybyparam="none" %>
<script runat="server" language="VB">
Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
 CachedDate.Text = DateTime.Now.ToString()
End Sub

Shared Function GetCurrentDate(ByVal context As HttpContext) As String
 Return DateTime.Now.ToString()
End Function
</script>
<html>
 <head id="Head1" runat="server">
 <title>substitution例子</title>
</head>
<body>
 <form id="Form1" runat="server">
  <p>下面的时间显示没有使用缓存功能</p>
  <asp:substitution id="Substitution1" methodname="GetCurrentDate" runat="Server">
  </asp:substitution>


  下面的时间显示使用了缓存功能,只有在30秒后才改变:

<asp:label id="CachedDateLabel" runat="Server"></asp:label>

<asp:button id="Refresh" text="刷新页面" runat="Server">
</asp:button>
</form>
</body>
</html>

  下图是运行的结果

 

  运行程序后,每次刷新页面,则会看到,没有使用缓存功能的时间控件,每次都会获得最新的时间,而使用了缓存功能的时间控件,每隔30秒才显示最新的时间,其余均保持上一次显示的时间不变。

  请注意,在该页面中,页面开头是使用了<%@ outputcache duration="30" varybyparam="none" %>,对页面使用缓存功能的,而只是简单的拖拉一个substitution控件,则实现了部分不缓存的功能。在

<asp:substitution id="Substitution1"
methodname="GetCurrentDate"
runat="Server">

  中,methodname调用的是一个方法,该方法中,可以写入哪些内容是不使用缓存功能的,本方法中返回的是字符串。注意,substitution控件中的methodname中调用的方法必须是静态方法,而且传入的参数必须是HttpContext.