asp.net的session使用

 
' 下面这样的语句在会话状态中存储对象
        Session("myitem") = "hello!"
这个语句向会话状态中添加条目之后,可以在用户访问的任何页面上获取此条目。如下:
        Response.Write(Session("myitem")) 
使用会话状态时要注意:添加到会话状态中的任何条目在用户访问你的网站期间一直存在。通常,这些条目一直与用户相关联。,直到用户关闭他的浏览器,从会话状态中显式地删除条目或者用户已经有 20 分钟没有请求页面时,,,
从会话状态中删除条目:
1 session.remove("myitem")  // 删除特定条目
2:session.removeall     //
删除全部

启动用户会话
当用户向一个网站请求第一个页面的时候,用户会话就启动。当第一个页面被请求时, WEB 服务器将
asp.net_sessionID cookie
添加进用户的浏览器
可以使用 NewSession 属性来探测新会话的启动。当新会话启动的时候,其返回为 TRUE
response.write(session.newsession)
每一个用户会话被分配唯一的会话 ID 。可以象下面这样获取会话 ID 的值:
response.write(session.sessionID)
会话 ID 确保在所有当前用户会话中是唯一的,但是,随时间的推移会话 ID 不保证唯一;可能为将来的新会话循环使用会话 ID

结束用户会话:
用户会话结束默认为20分钟(如果这段时间无动静的话),也可以自己修改
session.timeout=30
可以将此在 web.config文件里设置如:
<configuration>
<system.web>
<sessionstate timeout="60"/>
</system.web>
</configuration>
还可以显式地结束用户会话。办法是调用Abandon方法:
session.abandon
此方法常常用来注销页面,当此方法被调用之后,他下次再打开页面就被当新用户对待
注意:调用abandon方法并不立即结束用户会话,而是等到当前页面完成处理! 

处理会话事件
可以捕获与会话状态相关的两个事件:Session_start和session_end事件。当用户向一个页面来
显示你的网站上当前活跃的用户会话数。
比如在global.asax上修改
sub session_start()
if application("sessioncount") is nothing then
application("sessioncount")=0
end if
application("sessioncount")+=1
end sub

sub session_end()
appliction("sessioncount")-=1
end sub
当用户会话开始时候,还可以使用session_start子例程自动地将用户转移到特定页面。
比如:希望访问你网站的所有用户在访问其他页面的时候都要访问default.aspx页面。
当你访问其他页面的时候,下面将会自动转回default.aspx
sub session_start
if instr(request.path.tolower, "/default.aspx")=0 then
response.redirect("default.aspx")
end if
end sub

禁止会话状态
在默认情况下,会话状态对所有的页面都适用,如果你不需要会话状态,可以为页面禁止会话状态,
要为特定的页面禁止会话状态,需要在PAGE指令中修改enablesessionstate属性的值
%@page enablesessionstate="false"%>
如果是需要从会话状态中获取对象,但是不需要向其中添加对象,那么可以将enablesessionstate属性设置为
readonly
<%@ page enablesessionstate="readonly"%>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值