今天编写了一个采用ASP.NET Caching的组件,在为它编写Unit Test的过程中发现了一个有趣的问题,接下来我通过一个简单的实例说明这个问题。我们在一个控制台应用中编写了如下一段程序,这个段程序很简单:我们通过HttpRuntime的静态属性Cache得到表示当前缓存的Cache对象,并调用其Insert方法对当前的时间实施缓存。需要注意的是,我们采用“滑动时间”过期策略,并将这个滑动时间设置为1秒。
class Program
2: {
string[] args)
4: {
string key = Guid.NewGuid().ToString();
new TimeSpan(0, 0, 1) );
int i = 0; i < 5; i++)
8: {
);
10: Thread.Sleep(500);
11: }
12: }
13: }