浏览器大全:是一个提供流行浏览器教程、在线学习分享的学习平台!

ASP.NET Caching /2

Cache Dependencies
依赖可以使键值在文件改变时,或是在某一个指定时间被删除 
。让我们看一下每种依赖。

文件依赖(File-based Dependency)
文件依赖是指,当磁盘上的一个文件改变时,删除Cache对象中的对应一项。下面让我们看一个从XML文件中读取数据的例子。

Dim dom As XmlDocument()
dom.Load(Server.MapPath("product.xml")
Cache("ProductData") = dom

当product.xml文件内容改变时,我们应该使Cache中的数据失效。假设product.xml在aspx文件的同一目录中,我们可以使用以下的代码:

Dim dependency as new CacheDependency(Server.MapPath("product.xml"))
Cache.Insert("ProductData", dom, dependency)

在这段代码中,我们建立了一个CacheDependecy类的实例dependency,并将product.xml的路径传给这个实例。然后使用Insert方法建立一个依赖于文件的键值。

时间依赖(Time-based Dependency)
时间依赖就是在指定时间删除Cache对象中的一项。同样我们可以使用Insert方法来加入有时间依赖的键值。

绝对时间—设置一个绝对的时间。例如,10分钟以后,删除此项。
相对时间—当一个Cache有若干时间没有被访问,删除此项。
以下是一段代码,使用相对时间依赖,使得ProductData当有10分钟没有被访问的话,将被删除。每一次对ProductData的访问,都将使ProductData保持另一个10分钟的有效。

' 10 minute time span
Cache.Insert("ProductData", LoadDataSet(), Nothing, DateTime.MaxValue, TimeSpan.FromSeconds(10))

以上是对Cache API的简单讨论,大家从这里可以看出这套接口的简单易用。ASP.NET使用这套API实现了页面输出缓存。


页面输出缓存(Page Output Caching)
ASP.NET的页面输出缓存将把这个页面的内容放在Cache中。我们已经看过如何将一个数据集放入缓存。那么,能不能将整个页面缓存呢?这样的话,就不需要对每一个请求都执行代码,可以直接从内存中获取结果,这将带来巨大的性能提高。

对页面缓存有两种接口,高层接口和底层接口。这里我们只讨论高层接口。(对于底层接口,可以参考MSDN中的相关文章)

高层接口包括两个页面指示符,一个表明页面刷新的时间间隔,一个表明当某个参数变化时刷新页面。

<%@ OutputCache Duration="10" % VaryByParam="None">

将这个指示符放在页面上部,页面结果将被缓存10秒。10秒以后,这个页面将被重新执行。下面是一个例子。

<%@ OutputCache Duration="10" % VaryByParam="None">
<Script runat="server">
Public Sub Page_Load()
span1.InnerHtml = DateTime.Now.ToString("r")
End Sub
</Script>
<font size=6>The time is: <font color=red><span id="span1" runat="server"/></font></font>

这个页面在第一次请求时被执行一次,显示执行时的时间。这个结果将在缓存里保存10秒。假如我们在10:30:12时请求这个页面,在此后的10秒内,我们将会看到同样的输出。


结论
对于ASP程序员来说,缓存是一项易用而强大的新技术。它的使用和ASP原来的Application,session对象有许多相似的地方,只是在Cache对象中的数据会自动失效。Cache还支持文件,时间的依赖,更是支持回调。缓存技术还被用来实现了页面缓存。

相关软件

2345加速浏览器官方版

2345加速浏览器官方版 | 56.2MB

2345加速浏览器官方版

新一代2345加速浏览器采用Chromium和IE双内核,主打极速与安全特性。基于Chromium深度定制,引入网页智能预加载技术,访问网页更快速..

QQ浏览器官方正式版

QQ浏览器官方正式版 | 49.67MB

QQ浏览器官方正式版

QQ浏览器秉承TT浏览器1-4系列方便易用的特点,但技术架构不同,交互和视觉表现也重新设计,采用Chromium内核+IE双内核,让浏览快速稳定...

百度浏览器最新版下载

百度浏览器最新版下载 | 13.3MB

百度浏览器最新版下载

q百度浏览器,是一款简洁轻快、智能懂你的浏览器。依靠百度强大的搜索平台,在满足用户浏览网页的基础上,它整合百度体系业务优势,带给用户更方便的浏览方式功能...

UC浏览器官方正式版

UC浏览器官方正式版 | 44.2MB

UC浏览器官方正式版

UC浏览器(UC Browser)是UC Mobile Limited在2004年8月开发的一款软件,分uc手机浏览器和uc浏览器电脑版。UC浏览器是全球使用量最大的第三方手机浏览器...

猎豹浏览器2022最新版下载

猎豹浏览器2022下载 | 45MB

猎豹浏览器2022最新版下载

猎豹安全浏览器对Chrome的Webkit内核进行了超过100项的技术优化,访问网页速度更快。其具有首创的智能切换引擎,动态选择内核匹配不同网页...

360安全浏览器官方版下载

360安全浏览器下载 | 21.4MB

360安全浏览器官方版下载

360安全浏览器拥有全国最大的恶意网址库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银仿冒等恶意网址。独创沙箱技术,在隔离模式即使访问****也不会感染...