WEB开发网
开发学院WEB开发ASP ASP中Session技巧 阅读

ASP中Session技巧

 2006-04-07 11:56:22 来源:WEB开发网   
核心提示: 由于 Application 对象是公用的,首先必须做的,ASP中Session技巧(2),就是要把一块公用的区域规划给各个使用者,让每个用户拥有自己的区域可以记录资料,但如何使用呢?我们只要在使用者登入的地方,把原本使用 Session 储存的资料,以达到仿真 Session 的目的,现

由于 Application 对象是公用的,首先必须做的,就是要把一块公用的区域规划给各个使用者,让每个用户拥有自己的区域可以记录资料,以达到仿真 Session 的目的。现在有两种做法:

一、在 Server 激活时事先初始化建立及分配使用者内存空间,通常这种做法虽然一 Server 开机就先占了许多资源,但也省去了以后每当使用者联机就必须做一次分配的麻烦。但有个限制,使用这种方法必须限制最大人数,由于是一激活就初始化,我们只能预估建立某数量的内存空间,所以这种方法通常用于聊天室这种小型的程序上。

二、这种方法对于大型应用程序来说应该算较恰当的,采用动态的分配法,当使用者第一次联机到 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()

Tags:ASP Session 技巧

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接