旅途笔记

岂有豪情似旧时,花开花落两由之
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

缓存 Data Cache

Posted on 2006-07-22 17:04  allonkwok  阅读(242)  评论(0编辑  收藏  举报

    Output Cache 只适用于同一份asp.net网页,如果要跨网页共享某些缓存内容(如:数据连接、DataSet、DataView),就要使用缓存引擎中的缓存对象(Cache Object)。
    缓存对象可以直接和缓存引擎沟通,即是提供缓存引擎的直接访问操作,并且可让多份asp.net网页共享,同时允许彼此新建、修改、删除其中的内容。对WEB应用程序而言,Cache对象是私有的(Private)而非公有(public),因此无法跨越不同的应用程序共享Cache对象的内容。

一、Cache对象的处理
    Cache对象和Session、Application对象相似,分为添加和删除两种操作,前者和session对象相同(或使用insert方法),后者是通过Cache对象的Remove方法。
    如果想要添加某个Cache对象,例如作者姓名,语句如下:

Cache["Author"]="allonkwok"

    而要取出某个Cache对象的内容时,可借助一个变量,或直接以Response.Write方法列出,如下:
string strAuthor;
strAuthor
=Cache("Author");
Response.Write[strAuthor];

    下面我们以一个例子示范如何循环取出Cache对象内容:
<%@ Import Namespace="System.Web.Caching.Cache"%>
<Script Language="C#" runat="server">
    
public void Page_Load(object sender,EventArgs e)
    
{
        Object objCache;
        
string strText;

        Cache[
"Author"]="allonkwok";
        Cache[
"City"]="amoi";
        Cache[
"Phone"]="05921234567";

        
foreach (objCache In Cache)
        
{
            
if IndexOf(objCache.Key.Substring(1,7),1)<1
                {
                    strText &=objCache.Key&"="&Cache(objCache.Key)&"<br>";
                }
        }
            lblShow.Text=strText;
    }

</script>
<html>
<body>
<asp:Label id="lblShow" runat="server"/>
</body>
</html>