|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业;通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。技能|办理随机数:
<%randomize%>
<%=(int(rnd()*n)+1)%>
查询数据时失掉的纪录关头字用白色显现:
<%=replace(RS("字段X"),searchname,"<fontcolor=#FF0000>"&searchname&"</font>")%>
经由过程asp的手腕来反省来访者是不是用了代办署理
<%ifRequest.ServerVariables("HTTP_X_FORWARDED_FOR")""then
response.write"<fontcolor=#FF0000>您经由过程了代办署理服务器,"&_
"实在的IP为"&Request.ServerVariables("HTTP_X_FORWARDED_FOR")
endif
%>
判别上一页的来历
request.servervariables("HTTP_REFERER")
JavaScript:document.referrer
扫除缓存,从头加载页面
<%response.expires=0
response.expiresabsolute=now()-1
response.addHeader"pragma","no-cache"
response.addHeader"cache-control","private"
Response.cachecontrol="no-cache"
%>
鄙人拉菜单中显现年和月
<selectname="select">
<%
DimM_Year
DimM_Month
DimM_MonthJ
DimM_TheMonth
DimM_YM
ForM_Year=2000ToYear(Date)
M_Month=12
IfM_Year=Year(Date)Then
M_Month=Month(Date)
EndIf
ForM_MonthJ=1ToM_Month
IfM_MonthJ<10Then
M_TheMonth="0"&M_MonthJ
Else
M_TheMonth=M_MonthJ
EndIf
M_YM=M_Year&"-"&M_TheMonth%>
<optionvalue="<%=M_YM%>"><%=M_YM%></option>
<%
Next
Next%>
</select>
检索并删除数据库里的反复纪录
conn.execute("deletefromtablewhereidnotin(selectdistinctfromtable)")在做一个在线交换的网站时,有个成绩很令我头疼,就是关于及时统计在线用户的成绩,客户请求:统计以后在耳目数、旅客人数、会员人数、在线用户列表,包含旅客、会员和办理员(假如是旅客,则主动天生旅客的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")=0’0暗示用户未上岸,是旅客身份
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’删除超时用户
%>
==============================================================
如许,基础包管了数据库顶用户列表的及时性,偏差取决于更新工夫和删除工夫的差值巨细和服务器的处置速率,倡议不要将删除超时用户的工夫距离取的过于小,那样有大概会招致在线用
ASP.NET和ASP的比较,技术上比较已经没什么可说的了.新一代在大部分程度来说当然是比旧一代好了.关键看你对所做软件的理解了.因人而定.会写的话也可能比ASP.NET写得更有效率和更方便重用 |
|