如何取得所有的Session变量

魔羊怪

魔羊怪

2016-01-29 18:27

如何取得所有的Session变量,如何取得所有的Session变量
  在程序调试中,有时候需要知道有多少Session变量在使用,她们的值如何?由于Session对象提供一个称为Contents的集合(Collection),我们可以通过For...Each循环来达到目标:

Dim strName, iLoop
For Each strName in Session.Contents
Response.Write strName & " - " & Session.Contents(strName)& "<BR"
Next

一般情况下,上面的代码可以工作得很好。但当Session变量是一个对象或者数组时,打印的结果就不正确了。

这样我们修改代码如下:

'首先看看有多少Session变量在使用?

Response.Write "There are " & Session.Contents.Count & _
" Session variables<P"
Dim strName, iLoop
'使用For Each循环察看Session.Contents
'如果Session变量是一个数组?
If IsArray(Session(strName)) then
'循环打印数组的每一个元素
For iLoop = LBound(Session(strName)) to UBound(Session(strName))
Response.Write strName & "(" & iLoop & ") - " & _
Session(strName)(iLoop) & "<BR"
Next
Else
  '其他情况,就简单打印变量的值
Response.Write strName & " - " & Session.Contents(strName) & "<BR"
End If
Next

Session变量有时候不能工作,为什么?
有很多可能性:
第一,如果客户端不允许cookie操作,session将失效。因为session是依赖于cookie的。
第二,session有失效时间的设定。缺省的设置是20分钟。你可以这样修改它:Web directory - Properties - Virtual directory - Application settings - Configuration - App Options - Session timeout
或者在ASP中,写上这样的代码:Session.timeout=60 。
第三,session是和具体的Web Application相关的。如果用户从/products/default.asp浏览到/jobs/default.asp,也可能造成session的重新创建。

怎么清除一个不再需要的session变量但不使session失效?
在ASP3.0中:
Session.Contents.Remove "变量名"
可以清除一个变量。
在ASP2.0中:
set session("变量名")=NULL
可以清除变量。
在ASP3.0中,
Session.Contents.RemoveAll
可以清除所有的session变量和session.abandon不同,上面的方法都不会使目前的session过期或者无效。

ASP页面顶端的<%@ ENABLESESSIONSTATE=True %是什么意思?
IIS使用一种叫做Session跟踪的技术,来保证各个Session变量在每个页面是可用的。当用户访问某个ASP页面时候,IIS会首先为这个页面准备好各个Session变量,这当然会带来性能上的影响。(使用Session变量的代价总是很高的!)
如果你有100个页面,而只有5个页面用到了Session,那么,为了整体的性能,你只需要在那5个页面设置:
<%@ ENABLESESSIONSTATE=True %
而其他页面设置为:
<%@ ENABLESESSIONSTATE=False %  

 
展开更多 50%)
分享

猜你喜欢

如何取得所有的Session变量

ASP
如何取得所有的Session变量

2.10 Application/Session变量工具

Web开发
2.10 Application/Session变量工具

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

session变量中的数组如何引用

ASP
session变量中的数组如何引用

变量的“追随”:cookie与session

PHP
变量的“追随”:cookie与session

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

如何区分所有的化妆刷

化妆刷 化妆 化妆品
如何区分所有的化妆刷

查看ASP Session 变量的小工具

ASP
查看ASP Session 变量的小工具

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Problems with ClusterKnoppix 3.6

Problems with ClusterKnoppix 3.6

《使命召唤11 高级战争》生存模式过50波卡点攻略

《使命召唤11 高级战争》生存模式过50波卡点攻略
下拉加载更多内容 ↓