关于caching application block可以从http://www.microsoft.com/resources/practices/default.mspx下载
这里我们介绍一下简单的使用
1.建立一个windows form的测试程序

textbox用来显示cache的内容,button用来获取cache项.程序不能在简单了哦.
2.添加Cache的引用(在block的安装目录,直接copy过来):
Microsoft.ApplicationBlocks.Cache.dll
Microsoft.ApplicationBlocks.Data.dll
Microsoft.ApplicationBlocks.ExceptionManagement.dll
Microsoft.ApplicationBlocks.ExceptionManagement.Interfaces.dll
MemoryMappedFileStream.dll
3.配置config文件
因为是win form,所以添加一个app.config,如果是web引用,则对应web.config文件.
默认的文件示例:C:\Program Files\Microsoft Application Blocks for .NET\Caching Framework\Code\CS\Solution Items
这里我们直接copy app.config的内容吧.
好了,所有部署就完成了,下面来看看code
using System.Data;
using Microsoft.ApplicationBlocks.Cache;

namespace WinApp_Block_Cache


{

/**//// <summary>
/// Form1 的摘要说明。
/// </summary>
public class Form1 : System.Windows.Forms.Form

{
private System.Windows.Forms.Button button1;
private System.Windows.Forms.TextBox textBox1;

private void button1_Click(object sender, System.EventArgs e)

{
this.textBox1.Text = (string)GetCachedItem("hello");
}
private object GetCachedItem(string itemName)

{
//获取Cache管理的singlton
CacheManager cacheMgr = CacheManager.GetCacheManager();
object obj = cacheMgr.GetData(itemName);
if(obj == null)

{
//下面是ExtendedFormatTime设置释义

/**//// <remarks>
/// Extended format sintax : <br/><br/>
///
/// Minute - 0-59 <br/>
/// Hour - 0-23 <br/>
/// Day of month - 1-31 <br/>
/// Month - 1-12 <br/>
/// Day of week - 0-7 (Sunday is 0 or 7) <br/>
/// Wildcards - * means run every <br/>
/// Examples: <br/>
/// * * * * * - expire every minute of every day <br/>
/// 5 * * * * - expire 5th minute of every hour or every minute
/// after 1 hour from the last used time, whichever
/// is earlier <br/>
/// * 21 * * * - expire every minute of the 21st hour of every day
/// or one hour after every day<br/>
/// 31 15 * * * - expire 3:31 PM every day <br/>
/// 7 4 * * 6 - expire Saturday 4:07 AM <br/>
/// 15 21 4 7 * - expire 9:15 PM on 4 July <br/>
/// </remarks>
Microsoft.ApplicationBlocks.Cache.ICacheItemExpiration[] exps =

{
//设置cache过期依赖,这里设置1分钟后过期.
//你可以设置多个过期依赖项,该block提供如下四种过期依赖:
//AbsoluteTime
//ExtendedFormatTime
//FileDependency
//SlidingTime

new Microsoft.ApplicationBlocks.Cache.Expirations.ExtendedFormatTime("* * * * *")
};
obj = "hello world!!" + DateTime.Now.Millisecond.ToString();

//如果不想对cache过期事件处理,可把callback设为null
//这里我们用CacheExpiredProcess来处理cache的过期
cacheMgr.Add(itemName,
obj,
exps,
CacheItemPriority.High,
new CacheItemRemovedCallback(CacheExpiredProcess));
}
return obj;
}
//设置了一个处理过期事件函数
private void CacheExpiredProcess(string cacheKey,CacheItemRemoveCause cause)

{
MessageBox.Show(cacheKey + " is expired!");
}

}
}

