注册 登录
编程论坛 ASP.NET技术论坛

怎样用Application控制刷新数据的时间啊

大年初四 发布于 2007-11-16 19:58, 1199 次点击
我想打算做这样一个函数,就是30分钟内有人访问页面的时候不更新数据,30分钟开外再更新一次。
比方说更新函数是 create(),我想让30分钟以后用户刷新了页面才调用这个函数,我这样写的。

protected void Page_Load(object sender, EventArgs e)
{
if (Application["create"] == null) //如果Application["create"]为空
{
Application["create"] = DateTime.Now.ToShortDateString(); //Application["create"]赋值为当前时间
}
else
{
if (Application["create"].AddMinutes(30) > DateTime.Now.ToShortDateString()) //如果Application["create"]离现在超过30分钟
{
create();
Application["create"] = DateTime.Now.ToShortDateString();
}
}
}
6 回复
#2
大年初四2007-11-16 19:59
为什么这样就不能执行啊
#3
卡卡艾2007-11-16 22:49
Application["create"].AddMinutes(30) > DateTime.Now.ToShortDateString()
这句应该有问题吧.?
你后面的是短日期的时间格式啊.
#4
sean882007-11-19 11:01
if (Application["create"].AddMinutes(30) > DateTime.Now.ToShortDateString())

红色部分是你取的是当前时间,感觉这句话的结果永远是false
#5
cyyu_ryh2007-11-19 13:23
我也觉得楼上的说的对
应该是个差值
#6
bygg2007-11-19 16:20
Application["create"].AddMinutes(30) //时间型

DateTime.Now.ToShortDateString()) //字符串型

................
#7
ahuinan2007-11-20 07:00

写个简单的给你参考下(5秒刷新一次):


protected void Page_Load(object sender, EventArgs e)
{
    if (Application[\"db\"] == null)
    {
        //赋值初始化
        Application[\"db\"] = \"阿会楠\";
        Application[\"dbtime\"] = DateTime.Now.AddSeconds(5);
    }
    else
    {
        if (DateTime.Now.CompareTo(Application[\"dbtime\"]) > 0)
        {
            Random rand = new Random();
            Application[\"db\"] = rand.Next(0,9);
            Application[\"dbtime\"] = DateTime.Now.AddSeconds(5);
        }
    }
    Response.Write(Application[\"db\"]);
}

[此贴子已经被作者于2007-11-20 7:01:16编辑过]

1