当前位置: 首页 > 图文教程 > 网络编程 > ASP > ASP所有的Session变量获取实现代码

ASP
asp实现取得数组中的最大值的代码
asp 将日期格式化为需要的格式
asp 下产生任意位数随机密码的代码
asp下返回以千分位显示数字格式化的数值
asp重定向页面的方法总结
asp下去除数组中重复的项的方法
asp下实现 重新排序数字数组的代码
asp 验证输入网址是否有效并可以访问 与正则验证输入网址
asp验证Ip格式的函数
asp实现生成由数字,大写字母,小写字母指定位数的随机数
asp 格式化sql中的like字符串
asp 实现显示所有的服务器变量值的函数
asp 取得用户真实IP,对代理地址仍然有效的函数
asp 通用数据库连接过程函数
asp 字符串截取函数
asp下实现格式化文件大小以MB显示的函数
asp 下用正则表达式检测邮箱格式的函数
asp 实现检测字符串是否为纯字母和数字组合的函数
asp代码实现检测组件是否安装的函数
asp通过JMAIL实现通用发送函数

ASP所有的Session变量获取实现代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 165 ::
收藏到网摘: n/a

在程序调试中,有时候需要知道有多少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页面顶端的是什么意思? IIS使用一种叫做Session跟踪的技术,来保证各个Session变量在每个页面是可用的。当用户访问某个ASP页面时候,IIS会首先为这个页面准备好各个Session变量,这当然会带来性能上的影响。(使用Session变量的代价总是很高的!) 如果你有100个页面,而只有5个页面用到了Session,那么,为了整体的性能,你只需要在那5个页面设置:
复制代码 代码如下:

<%@ ENABLESESSIONSTATE=True %>

而其他页面设置为:
复制代码 代码如下:

<%@ ENABLESESSIONSTATE=False %>