Asp中session使用方法详解[通俗易懂]

Asp中session使用方法详解[通俗易懂]Session对象可以使用Session对象存储特定用户会话所需的信息。这样,当用户在应用程序的Web页之间跳转时,存储在Session对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。当用户请求来自应用程序的Web页时,如果该用户还没有会话,则Web服务器将自动创建一个Session对象。当会话过期或被放弃后,服务器将终止该会话。Sessio

大家好,又见面了,我是你们的朋友全栈君。

Session 对象
可以使用 Session 对象存储特定用户会话所需的信息。这样,当用户在应用程序的 Web 页之间跳转时,存储在 Session 对象中的变量将不会丢失,而是在整个用户会话中一直存在下去。

当用户请求来自应用程序的 Web 页时,如果该用户还没有会话,则 Web 服务器将自动创建一个 Session 对象。当会话过期或被放弃后,服务器将终止该会话。

Session 对象最常见的一个用法就是存储用户的首选项。例如,如果用户指明不喜欢查看图形,就可以将该信息存储在 Session 对象中。有关使用 Session 对象的详细信息,请参阅“ASP 应用程序”部分的“管理会话”。

注意 会话状态仅在支持 cookie 的浏览器中保留。

语法
Session.collection|property|method

集合 
Contents 包含已用脚本命令添加到会话中的项目。 
StaticObjects 包含通过 <OBJECT> 标记创建的并给定了会话作用域的对象。 

属性
CodePage 将用于符号映射的代码页。 
LCID 现场标识。 
SessionID 返回用户的会话验证。 
Timeout 应用程序会话状态的超时时限,以分钟为单位。 

方法
Abandon 该方法破坏 Session 对象并释放其资源。 

事件
global.asa 文件中声明下列事件的脚本。

Session_OnEnd 
Session_OnStart 

有关以上事件及 global.asa 文件的详细信息, 请参阅 Global.asa 参考.

注释
您可以在 Session 对象中存储值。存储在 Session 对象中的信息在会话及会话作用域内有效。下列脚本演示两种类型的变量的存储方式。

<% 
Session(“username”) = “Janine”
Session(“age”) = 24
%>

但是,如果您将对象存储在 Session对象中,而且您使用 VBScript 作为主脚本语言。则必须使用关键字 Set。如下列脚本所示。

<% Set Session(“Obj1”) = Server.CreateObject(“MyComponent.class1”) %>

然后,您就可以在后面的 Web 页上调用 MyComponent.class1 揭示的方法和属性,其调用方法如下:

<% Session(“Obj1”).MyMethod %>

也可以通过展开该对象的本地副本并使用下列脚本来调用:

<% 
Set MyLocalObj1 = Session(“Obj1”) 
MyLocalObj1.MyObjMethod
%>

创建有会话作用域的对象的另一种方法是在 global.asa 文件中使用 <OBJECT> 标记。 

但是不能在 Session 对象中存储内建对象。例如,下面每一行都将返回错误。

<%
Set Session(“var1”) = Session
Set Session(“var2”) = Request
Set Session(“var3”) = Response
Set Session(“var4”) = Server
Set Session(“var5”) = Application
%>

在将对象存储到 Session 对象之前,必须了解它使用的是哪一种线程模型。只有那些标记为“Both”的对象才能存储在没有锁定单线程会话的 Session 对象中。详细信息, 请参阅“创建 ASP 组件”中的“选择线程模型”。

若您将一个数组存储在 Session对象中,请不要直接更改存储在数组中的元素。例如,下列的脚本无法运行。

<% Session(“StoredArray”)(3) = “new value” %>

这是因为 Session对象是作为集合被实现的。数组元素 StoredArray(3) 未获得新的赋值。而此值将包含在 Application 对象集合中,并将覆盖此位置以前存储的任何信息。

我们极力建议您在将数组存储在 Session对象中时,在检索或改变数组中的对象前获取数组的一个副本。在对数组操作时,您应再将数组全部存储在 Session 对象中,这样您所做的任何改动将被存储下来。下列的脚本对此进行演示。

—file1.asp—
<%
‘Creating and initializing the array
Dim MyArray()
Redim MyArray(5)
MyArray(0) = “hello”
MyArray(1) = “some other string”

‘Storing the array in the Session object
Session(“StoredArray”) = MyArray

Response.Redirect(“file2.asp”)
%>

—file2.asp—
<%
‘Retrieving the array from the Session Object
‘and modifying its second element
LocalArray = Session(“StoredArray”)
LocalArray(1) = ” there”

‘printing out the string “hello there”
Response.Write(LocalArray(0)&LocalArray(1))

‘Re-storing the array in the Session object
‘This overwrites the values in StoredArray with the new values
Session(“StoredArray”) = LocalArray
%>

示例 
下列代码将字符串 MyName 分配给名为 name 的会话变量,并给名为 year 的会话变量指定一个值,而且为 some.Obj 组件的实例指定一个名为 myObj 的变量。

Session(“name”) = “MyName” 
Session(“year”) = 96 
Set Session(“myObj”) = Server.CreateObject(“someObj”) 
%>

作者:Iasky 文章来源:http://www.35soft.net/Article/ASP/200606/Article_20060616220923_86.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159536.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Android Hook技术的简单实现

    Android Hook技术的简单实现一、什么是Hook技术Android程序有一套特有的事件分发机制,都是按既定程序从前往后执行的。Hook技术就是利用反射和代理,在既定程序中插入我们自己写的程序。比如,我们想在App所有的点击事件中添加播放音乐的效果。所有控件的点击事件,分发流程都是系统已经写好了,这时我们怎么做到在其中插入我们的播放音乐的效果呢?让我们拭目以待!二、如何寻找Hook点1.尽量选择静态变量和单例对象,因为一旦创建对象,他们不容易变化,非常容易定位。2.尽量Hookpublic的对象和方法三、Hook过程选

  • redis面试必会6题经典_关于redis秒杀的面试题

    redis面试必会6题经典_关于redis秒杀的面试题Redis面试题1、什么是Redis?.2、Redis的数据类型?3、使用Redis有哪些好处?4、Redis相比Memcached有哪些优势?5、Memcache与Redis的区别都有哪些?6、Redis是单进程单线程的?7、一个字符串类型的值能存储最大容量是多少?8、Redis的持久化机制是什么?各自的优缺点?9、Redis常见性…

  • 带通滤波器设计要注意采样率

    带通滤波器设计要注意采样率设计为采样频率600M,中心频率140M,带宽2M,Fs_org=140e6;Fs=Fs_org;T=1/Fs;%600/140=4.28,约600M采样率,t1=[0:T/4.28:1000*T];%原先错误代码,几乎就没有滤波%t1=[0:T/200:1000*T];%错误在于采样率远远大于600Mp=3*sin

  • 传奇私服架设(温故2002,自己制作传奇私服服务器)

    传奇私服架设(温故2002,自己制作传奇私服服务器)在家闲着没事,便想玩点单机游戏,于是想到自己架设个传奇私服,然后自己做GM玩玩,肯定挺爽的。。 准备工作:(网上搜索下载)DBC2000 数据库:http://www.skycn.com/soft/40872.html传奇私服服务端:http://www.rayfile.com/zh-cn/files/bf0e4b00-8550-11e0-bca

  • 懒加载(Lazy Loading) – MyBatis懒加载 – Spring懒加载

    懒加载(Lazy Loading) – MyBatis懒加载 – Spring懒加载文章目录懒加载(LazyLoading)MyBatis中懒加载的使用Spring中懒加载的使用懒加载(LazyLoading)  懒加载也叫“延迟价值”,核心思想是把对象的实例化延迟到真正调用该对象的时候,这样做的好处是可以减轻大量对象在实例化时对资源的消耗,而不是在程序初始化的时候就预先将对象实例化。另外“懒加载”可以将对象的实例化代码从初始化方法中独立出来,从而提高代码的可读性,以便于代码能够更好地组织。  特别是在web应用程序中,它能够在用户滚动页面的时候自动获取更多的数据,而新得到的数据

  • 在一台2010年的老电脑上安装黑群辉dsm5.2并完成外网访问与洗白操作

    在一台2010年的老电脑上安装黑群辉dsm5.2并完成外网访问与洗白操作背景我和媳妇的手机容量都快要满了,主要是手机存储了大量的照片和视频,所以考虑个解决方案给手机瘦身。方案要满足一下几个要求:1、数据非常重要,一定要保证数据的可靠性;2、自动完成照片的比较,然后上传;3、照片需要满足随时、随地查看;4、保证数据的安全及私密性,最好不使用公共网盘服务(怕开发商做恶)5、总投入费用不超过300块钱。方案对比方案1(最优雅):使用手机厂商自带的云存储服务,以appleicloud为例,50G的存储已经不够用了,需要升级到200G的方案,一个月就是21块钱,一年是252

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号