比如我做一个网页游戏。
客户提交一张表单过来,我如何在服务器过30分钟后修改数据库的数据?并且这个过程要在多用户中进行,就是说能计算很多的用户的这种请求同时进行?
处理完一条数据就删除一条,这样客户端就算关闭,没处理的数据也可以在其它时候触发后继续处理,看下面代码后边的更新。建议多看下ASP中有关服务器缓存的东西。
关掉也没有关系啊,因为时间是在服务器缓存中保存的,和客户端没有什么关系。。。就算连1个客户端都没有连接,那么下次diyi个访问的客户端一样会激活处理没有处理过的数据的。。。。
很简单,如果服务器支持APPLICATION(缓存)的话,可以在缓存中保存一个时间变量.
'如果不是时间格式则初始化一个给服务器
If Not IsDate(Application("you_time")) then
Application("you_time")=Now()
temp_time=Now()
Else
'如果是时间格式则获取时间数据
temp_time=Application("you_time")
end if
'比对时间(以秒为单位)
temp_chk=datediff('s',temp_time,now())
if temp_chk>=1800 then
'执行计划任务
'''
'任务代码
'''
'处理完成更新服务器计时,就算关闭了,如数据没处理完毕,下面语句不会更新,其他人访问时候会重新触发。
Application.Lock
Application("you_time")=Now()
Application.Unlock
End If
建立一个临时的表,里面放表单传过来的数据,单独加一个时间字段,让服务器定期处理此表的数据。