|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。办理|统计|在线在做一个在线交换的网站时,有个成绩很令我头疼,就是关于及时统计在线用户的成绩,客户请求:统计以后在耳目数、旅客人数、会员人数、在线用户列表,包含旅客、会员和办理员(假如是旅客,则主动天生旅客的ID,假如是会员,则显现会员姓名)。由于它请求有及时性,则起首我将用global.asa办理的设法pass失落。
成绩的关头是怎样判别用户已分开,和当用户分开时怎样实行一个文件或一个函数。
经由和网上一些伴侣的切磋,终究办理了这个成绩。
办理的道理为:编写一个通用页面,所谓的通用页面,就是使用里的每一个页面都包括这个页面,比方:header.asp,在这个页面里,用XMLHTTP写一段代码,这段代码的感化是每隔10秒或20秒就向服务器发送一个哀求,目标是更新以后用户的在线工夫并删除在线工夫凌驾必定工夫的用户,使数据库中的在线用户纪录坚持必定的及时性。
次要完成办法为:
新建一数据库,字段称号分离为:id(字符),name(字符),user(数字)tt(日期),admin(权限代码,0-一般用户,1-办理员)
表名:online
header.asp↓
============================================================
<%
......
ifsession("s_in")1andsession("s_name")=""then假如用户是第一次上岸
rs.open"select*fromonline",conn,3,3
rs.addnew
rs("id")=session.sessionID
rs("name")="旅客"&session.sessionID
rs("user")=00暗示用户未上岸,是旅客身份
rs("tt")=now
rs.update
rs.close
session("s_in")=1设置用户的材料已存进数据库,暗示已在线
endif
ifsession("s_name")""then假如用户已经由过程登录框登录
rs.open"select*fromonlinewhereid="&session.sessionID&"",conn,3,3
rs("name")=session("s_name")
rs("admin")=session("s_admin")将用户的姓名更新为会员称号
rs("user")=1暗示用户已上岸,是会员身份
rs("tt")=now将以后体系工夫设置为用户的上岸工夫
rs.update
rs.close
endif
......
%>
......
<head>
......
<scriptlanguage=javascript>
functionTest()
{
varxmlhttp=newActiveXObject("MSXML2.XMLHTTP");
xmlhttp.open("POST","onceonline.asp",false);//向onceonline.asp发送更新哀求
xmlhttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded");
xmlhttp.send();
}
setInterval("Test();",10);//10秒钟发送一次更新哀求
</script>
......
</head>
......
==========================================================
onceonline.asp
<%
rs.open"selectttfromonlinewhereid="&session.sessionID&"",conn,3,3
rs("tt")=now()更新以后在线用户的在线工夫
rs.update
rs.close
rs.open"deletefromonlinewheredatediff(s,tt,now())>60",conn,3,1删除超时用户
%>
==============================================================
如许,基础包管了数据库顶用户列表的及时性,偏差取决于更新工夫和删除工夫的差值巨细和服务器的处置速率,倡议不要将删除超时用户的工夫距离取的过于小,那样有大概会招致在线用户0人的掉误。
本计划在WIN2000+SQLServer2000上调试经由过程,因为本计划对体系请求对照年夜,等候其他伴侣拿出更好的计划,一同办理这个成绩!
我的信箱:my5243@hotmail.com
我叫“积木”,接待你和我成为伴侣!
</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。 |
|