我正在实现数据缓存在asp.net中的工作方式。为此,我保留了三个按钮
1)缓存日期按钮,
2)currentdate按钮和
3)缓存删除按钮。
如果我点击缓存日期按钮日期将被缓存2个小时。如果点击当前日期按钮,将显示当前日期时间,最后如果我点击删除缓存按钮缓存将被删除,并将显示新的缓存日期和新的当前日期。
为此,我已经完成了编码,但是datetime不缓存总是它刷新我的意思是如果datetime缓存2分钟,如果我点击缓存按钮datetime不应该改变,但在我的情况下它总是在改变.... Pls有人修改我的代码......
protected void BtnCacheTime_Click(object sender, EventArgs e)
{
Cache.Insert("date",DateTime.Now,null,
DateTime.Now.AddMinutes(2), TimeSpan.Zero);
lblCacheDateTime.Text = Cache["date"].ToString();
}
protected void BtnCurrentDate_Click(object sender, EventArgs e)
{
lblCurrentDate.Text = DateTime.Now.ToString();
}
protected void BtnRemoveCache_Click(object sender, EventArgs e)
{
Cache.Remove("date");
lblFreshCacheDate.Text = DateTime.Now.ToString();
lblFreshCrntDate.Text = DateTime.Now.ToString();
}
答案 0 :(得分:1)
好吧,有一次,您将DateTime.Now
插入缓存,然后立即读取其值。您还期待什么?
接下来,您不应该使用TimeSpan.Zero
- 设置绝对过期时,您应该使用Cache.NoSlidingExpiration
。