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

ASP
ASP 编程中20个非常有用的例子(一)
ASP 编程中20个非常有用的例子(二)
ASP基础教程:ADO存取数据库时如何分页显示
ASP基础教程:其它的ASP常用组件
ASP基础教程:学习ASP中子程序的应用
ASP基础教程之ASP程序对Cookie的处理
ASP基础教程之实例学习ASP Response 对象
ASP基础教程之ASP AdRotator 组件的使用
ADO初学者教程:ADO 通过GetString()加速脚本
初学者来认识OLEDB和ODBC的区别
ASP常见数学函数 Abs Atn Cos 等详细详解
VBScript新手入门初学教程:VBScript简介
有用的无声递交表单的客户端函数
Windows 2003 安装设置iis
ASP技巧实例:几行代码解决防止表单重复提交
ASP读sql数据时出现乱码问题的解决方法
ASP技巧实例:使用ASP记录在线用户的数量
ASP技巧实例:关于对表单操作的程序
ASP技巧实例:ASP实现最简洁的多重查询的解决方案
ASP实例:利用缓存提高数据显示效率

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 78 ::
收藏到网摘: 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.