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

ASP
ASP基础讲座(下)
解决IIS5 HTTP500内部错误
ASP 3.0高级编程(四十六)
ASP 3.0高级编程(四十五)
ASP 3.0高级编程(四十四)
ASP 3.0高级编程(四十三)
ASP 3.0高级编程(四十二)
ASP 3.0高级编程(四十一)
ASP 3.0高级编程(三十九)
ASP 3.0高级编程(三十八)
ASP 3.0高级编程(三十七)
ASP 3.0高级编程(三十六)
ASP 3.0高级编程(三十五)
ASP 3.0高级编程(三十四)
ASP 3.0高级编程(三十三)
ASP 3.0高级编程(三十二)
ASP 3.0高级编程(三十一)
ASP错误代码说明
jscript错误代码及相应解释大全
ASP错误处理

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


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