您现在的位置:计算机技术学习网 > 技术中心 > WEB编程 > ASP >

ASP中Session技巧(2)

来源:互联网 责任编辑:栏目编辑 发表时间:2013-07-01 10:13 点击:

二、这种方法对于大型应用程序来说应该算较恰当的,采用动态的分配法,当使用者第一次联机到 Server 上才开始分配资源给此用户。这两种仿真 Session 的方案,目的都是减轻 Session 资源的消耗,但毕竟还是无法完全替代,我们还是需要使用到一点点 Session,至少对 Server 已经能减轻不少负担了。

第一方案

首先我们开始第一个方案的实作,由于是激活时初始化 Application,我们当然要从 Global.asa中着手:

已经完成初始化了,但如何使用呢?我们只要在使用者登入的地方,把原本使用 Session 储存的资料,如帐号、登入时间,改成我们建立好的 Application 对象中就可以了:

'寻找未被使用的空间

For i = 1 To Application("ClientMax")

If Application("User_Status_" & i) = 0 Then

'使用者暂时编号

Session("Index") = i

'锁定

Application Application.Lock

'设成已使用的状态

Application("User_Status_" & i) = 1 '放入变量数据

Application("User_Account_" & i) = Account

Application("User_Logtime_" & i) = Now()

'解除锁定

Application.Unlock

Exit For

End If

Next 

要取得使用者的相关变量数据则就像下面的做法:

Response.Write(Application("User_Account_" & Session("Index")) 

你可能会发现,不是说不要使用 Session 吗?那为什么上面的原始码中还有 Session 的存在?前面也说过,这替代方案并不能完全代替掉 Session,浏览器并不是一直和 Server 处于联机状态的,读取完页面就断线,那我们要怎么知道下次联机的还是同一个人呢?这时候就必须要靠 Session,我们给使用者一组实时的编号,此编号就是使用者于 Application 上变量空间的号码,你可以想象成银行中有很多的保险箱,你拥有一支钥匙,而钥匙上有编号,钥匙上的编号可以让行员带领你去你自己的保险箱。此方法尚还有改进之处,但对小型的应用程序已经是很够用了。

第二方案

关于上一方案,你可能也想到,我们自订的编号使用了 Session 来记录,讲到编号,Session 对象有提供一个『 SessionID 』方法。没错,不管我们要不要使用,Server 都会自动帮每个用户编列号码,且此号码不会重复,至于这号码就是用 Session.SessionID

发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • WAP常见问题问答大全(四)
  • ASP开发必备:WEB打印代码大全
  • ASP调用系统ping命令
  • asp缓存技术
  • ASP教程:第三篇 ASP基础
  • 用ASP+XML打造留言本(4)
  • 关于ASP Recordset 分页出现负数解决方法及建议
  • 用asp怎样编写文档搜索页面(5)
  • ASP处理多关键词查询实例代码
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1