ASP中Session技巧
2006-04-07 11:56:22 来源:WEB开发网由于 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()
- ››ASP.NET及JS中的cookie基本用法
- ››ASP.NET获取MS SQL Server安装实例
- ››asp.net实现调用百度pai 在线翻译英文转中文
- ››ASP.NET页面选项进行提示判断
- ››Asp.net定时执行程序
- ››ASP.NET中利用DataList实现图片无缝滚动
- ››ASP.NET验证控件RequiredFieldValidator
- ››ASP.NET中使用System.Net.Mail发邮件
- ››ASP.NET中获取用户控件中控件的ID
- ››ASP.NET中FileBytes写成文件并存档
- ››asp获取毫秒数
- ››asp.net报“INSERT INTO 语句的语法错误解决
更多精彩
赞助商链接