All articles(网络文学目录) All Pictures(图片目录) All Softwares(软件目录)

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

Writer: qq Article type: Programming skills(编程技巧) Time: 2014/7/9 1:36:09 Browse times: 268 Comment times: 0

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


Head photo

Go homepage
Upload pictures
Write articles

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代码文件完整程序代码★★★★★





There are 0 records,
Comment:
Must be registered users to comment(必须是注册用户才能发表评论)

Disclaimer Privacy Policy About us Site Map
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.