Go homepage(回首页)
Upload pictures (上传图片)
Write articles (发文字帖)

The author:(作者)qq
published in(发表于) 2014/7/9 1:36:09
asp.net2.0中Cache对象的属性和方法

asp.net2.0中Cache对象的属性和方法

Cache对象的属性

Cache对象主要用于Web应用程序的缓存,其常用属性及说明如表1所示。



表1 Cache对象常用属性及说明

Count属性:用于获取存储在缓存中的项数。

语法:

public int Count { get; }

属性值:存储在缓存中的项数。该属性为只读属性,类型为int整型,默认值为0。

例如,获取存储在缓存中的项数,代码如下:

int str1 = Cache.Count;

Cache 对象的方法

Cache对象常用方法及说明如表1所示。



表2 Cache对象常用方法及说明

下面对比较重要的方法进行详细介绍。

(1)Add方法。用于将指定项添加到Cache对象。

语法:

public Object Add (

string key,

Object value,

CacheDependency dependencies,

DateTime absoluteExpiration,

TimeSpan slidingExpiration,

CacheItemPriority priority,

CacheItemRemovedCallback onRemoveCallback

)

Add方法中各参数的说明如表2所示。



表3 Add方法参数说明

* 示例

使用Add方法增加缓存数字

本示例实现的是,当程序运行时,在页面Default.aspx中输出一个缓存数字,并且每隔10s,该缓存数字加1。示例运行结果如图1所示。



图1 使用Add方法增加缓存数字

程序代码如下。

在Default.aspx页面的Page_Load事件中,首先判断Cache对象是否为空,如果为空,则利用Cache对象的Add方法添加一个名称为“count”缓存项,并显示在Label控件中;否则,直接将已经存在的缓存项的值显示在Label控件中。Default.aspx页面的Page_Load事件代码如下:

protected void Page_Load(object sender, EventArgs e)

{

if (Cache["count"] == null)

{

int P_int_count = 1;

CacheItemRemovedCallback CIRCallback = new

CacheItemRemovedCallback(onCacheRemove);

Label1.Text = "缓存数字:" + P_int_count.ToString();

Cache.Add("count", P_int_count, null, DateTime.Now.AddSeconds(10),

TimeSpan.Zero, CacheItemPriority.Normal, CIRCallback);

}

else

{

Label1.Text = "缓存数字:" + Cache["count"].ToString();

}

}

Default.aspx页面中定义了一个方法onCacheRemove,该方法具有CacheItemRemoved Callback委托的签名,它主要用来在缓存项被移除时通知用户并使用CacheItemRemovedReason枚举通知用户该项被移除的原因;此外,它还使用Cache对象的Add方法向缓存中添加项。OnCache Remove方法实现代码如下:

private void onCacheRemove(string P_str_key, object P_obj_count,CacheItemRemovedReason CIRReason)

{

CacheItemRemovedCallback CIRCallback = new

CacheItemRemovedCallback(onCacheRemove);

Cache.Add(P_str_key, (int)P_obj_count + 1, null, DateTime.Now.AddSeconds(10),

TimeSpan.Zero, CacheItemPriority.Normal, CIRCallback);

}

完整程序代码如下:

★ ★★★★Default.aspx代码文件完整程序代码★★★★★

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>







无标题页





















★ ★★★★Default.aspx.cs代码文件完整程序代码★★★★★


If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)





QQ:154298438
QQ:417480759