protected void Page_Load(object sender, EventArgs e)
{
string a = (string)Cache["name"];
if (a == null)
{
a = "ceshi1123";
Cache.Insert("name", a, null, Cache.NoAbsoluteExpiration, TimeSpan.FromSeconds(3));
Label1.Text = "0000";
}
else {
Label1.Text = a;
}
}
如上代码,当没有缓存时,应该输出 0000,当有缓存时,应该输出ceshi1123.且缓存只保持三秒。生成页面后发现一个奇怪的问题。如果用F5刷新页面,得到的结果和预想(上面的说法)一致。但是,当出现任意结果后,在地址栏按回车键,重新载入页面,结果都不会变。(没有缓存时永远是0,有缓存时永远是ceshi1123),按理说,页面超过3秒后,缓存是应该失效的。为什么在地址栏按回车重新载入页面无效呢?另外,已经禁用页面视图,应该不是这个的原因。求助其他可能。
解决方案 »
- MessageBox弹出并设置为最前
- 没办法,出100分征求答案:ExecuteScalar得到的object,等于0时无法强制转成int
- repeater 控件绑定数据
- 请问三层架构中,中间层所实现的功能是什么?
- 请帮忙,(C#winform) 把日期控件的内容,插入数据库,为什么会出现1900-1-1,这种情况,怎么换成NULL???
- 分页中,如何DataGridView单击列头对当前页排序,改成对所有数据排序?
- access表中的数据怎么存为csv文件
- 网页上取值问题~!~
- 窗体起始位置的问题。
- 关于visual studio 2013 的 C#问题
- 新手!asp.net怎么连接ORACLE数据库?
- 如何在form2中给form1上的label1.Text赋值
Should be:
Cache.Insert("name", a, null, DateTime.MaxValue, TimeSpan.FromSeconds(3));
VS2008亲测,没有问题,如楼主想要的结果