一、用户的身份证—sessionID
<%Response.write(session.sessionID)%>
1、其值以cookie的形式保存到客户端,服务器以该值识别身份。
2、如果在同一asp页上强制结束电话,该会话在同一页仍有效。
<%
response.write session.session.ID&”<br>”
Session(“user”)=”我是session变量”
Session.abandon
response.write session(“user”)&”<br>”
esponse.write session.session.ID
%>
3、如果在一asp页上强制结束电话,切换页面后原通话自动失效。
上例如中的<%response.write session(“user”)&”<br>”
esponse.write session.session.ID%>如果切换到另一页,则<%response.write session(“user”)%>不会输出“user”的值:我是session变量。
4、预处理指令enablesessionstate=false禁止asp应用程序使用cookie。
%@language=”VBSscript” codepage=”936%” Enablesessionstate=false %
使用该指令后,该页的相关sesion的操作无法进行。
5、屏蔽cookie的操作:在IIS的虚拟目录“应用程序配置”中设置。
“网站”→“默认网站”→“虚拟目录名”右击→“属性”→“应用程序设置:配置”→“选项”→取消“启用会话状况”复选框。
二、保持会话消息的有效期timeout。
单独设置:Session.Timeout=70 单位是分钟。
在IIS中更改默认设置:与上面屏蔽cookie的路径一样,在最后的“选项”中更改默认值。
三、设置会话的字符集CodePage和显示格式LCID
<%Session.CodePage=950
Session.LCID=2052 %>
950为中国汉字,2052为中国大陆的习惯显示格式。
默认状态下,会话的字符集来源于<%@ language=““VBSscript” codepage=“936%”%>,亦可单独设置会话的字符集,该设置当然只影响会话。
默认状态下,session将遵循LCID指令设置的地区标识符。
四、session对象的两个集合:
1、Content集合:<%seession(“user”)=“会话内容”%>通过脚本添加的。
2、Staticobjects集合:编入<object>标签中:
<object runat=”server” scope=”Session” id=”aobject” progid=”msmc.info”></object>
<object runat=”server” scope=”Session” id=”bobject” progid=”msmc.info”></object>
<% aobject.user=”aobjectname”
bbject.id=0001
bobject.user=”aobjectname”
bbject.id=0002
for Each element in session.staticobjects
response.write session.staticobjects(element).user
next%>
五、三种属性:item /key/ count
1、返还值item:<%response.write session.contents.item(1)%>返还第一页session的值;
<%response.write session.contents.item(“id”)%>返还第一页id的值。
由于cintents是默认集合,item是默认属性。所以:
<%response.write session.contents.item(“id”)%>=<%response.write session.Contents(“id”)%>=<%response.write session(“id”)%>
2、返还名称key:<%response.write session.contents.key(“id”)%>返还id的名称
<%response.write session.contents.key(“2”)%>返还第2个session的名称
3、返还总数count
<%response.write session.contents.count%>返还content集合的个数。
六、两种删除方法:remove和removeall
1、<%session.contents.remove(“id”)%>删除session中的id。
2、<%session.contents.removeall%>删除session中的所有变量。
七、session变量的保存与输出:
<%session("name")=request.form("name")
session("word")=request.form("word")%>
可在本页或另一页asp页中输出原保存的信息:
<%=session("name")%>
<%=session("word")%>
八、应用实例3个:
1、Application计数器(刷新也计数)
<%
dim counter
counter=0
application.lock
application("counter")=application("counter") 1
application.unlock
%>
<body>欢迎光临!您是本站的第<%=application("counter")%>位访问者</body>
2、session计数器(刷新不计数)
<%
if isempty(session("connected")) then
application.lock()
application("mycounter")=application("mycounter") 1
application.unlock()
end if
session("connected")=true
%>
<body>您是本站的第<%=application("mycounter")%>位访问者!
您的SessionID:<%=session.SessionID%></body>
注:isempty(session("connected"))与session("connected")=false是等价的。session("connected")=false表示session的值是空的,未初始化;session("connected")=true表示给session开始赋值,已经初始化。
isempty(session("connected"))是判断是否初始化函数,单独使用isempty(session("connected"))表示isempty(session("connected"))=true,true是isempty(session("connected"))的默认值。
3、显示在线人数:
(1)、先编制专用配置文件Global.asa,并将其放在根目录(与主文件并列放在一个目录下):
<script language="VBScript" runat="Server">
Sub Application_OnStart
Session.Timeout = 20
Application.Lock
Application("WhosOn") = 0
Application.UnLock
End Sub
Sub Session_OnStart
Application.Lock
Application("WhosOn") = Application("WhosOn") 1
Application.UnLock
End Sub
Sub Session_OnEnd
Application.Lock
Application("WhosOn") = Application("WhosOn") - 1
Application.UnLock
End Sub
</script>
(2)、再编制主文件:index.asp
<body>
目前网站上有<%=application("whoson")%>位用户在线!
</body>
联系客服