第八介绍ASP基础知识(ASP构建对象应用程序和会话)
在最后一篇文章中,作者详细介绍了ASP内置对象响应的使用。在本文中,笔者将继续介绍其他两个非常实用和重要的ASP内置对象的应用程序和会话,U3000 U3000除了用于发送、接收和处理数据的对象之外,还有一些非常实用的对象,它们代表ASP内置对象中的活动服务器应用程序和单个用户信息。
让我们在同一个虚拟目录及其子目录中的应用对象first.all.asp文件一看构成ASP应用。我们不仅可以使用应用程序对象的信息共享的所有用户之间的一个给定的应用程序,但也存在数据在服务器上运行。此外,应用对象也可以控制的方式来控制访问的应用层数据和事件,可以用来触发过程当应用程序启动和停止。
让我们一起学习应用程序对象。
一、属性
虽然应用程序对象没有内置属性,但是我们可以使用以下语法将用户定义的属性设置为集合。
应用程序(集合名称)=值
我们可以使用以下脚本声明和建立应用程序对象的属性。
< %
应用(myvar)=你好
设置应用程序(myobj时)= server.createobject(mycomponent )
%>
一旦我们指定的应用对象的属性,它坚持坚持到Web服务器的服务关闭,应用程序停止,因为存储在应用程序对象的值可以通过应用程序的所有用户阅读、应用对象的属性的应用程序的用户之间的信息传递是特别适合。
两。方法
应用程序对象有两种方法,所有这些方法用于处理多个用户对应用程序中存储的数据进行写入的问题。
1,锁定方法禁止其他客户修改应用程序对象的属性。
锁定方法阻止其他客户修改存储在应用程序对象中的变量,以确保只有一个客户可以在同一时间修改和访问应用程序变量。如果用户没有显式地调用解锁方法,服务器将在ASP文件的结尾或超时后解锁应用程序对象。
让我们看看下面的程序,它使用应用程序记录页面访问的数量。
< %
昏暗的numvisitsnumvisits = 0
application.lockapplication(numvisits )=应用(numvisits )+ 1
解锁应用。
%>
欢迎访问我们的网站,您是本页面的访问者!
在ASP文件中保存上面的脚本,并在页面中轻松添加一个计数器。
2。与锁方法相反,解锁方法允许其他客户修改应用程序对象的属性。
在上面的例子中,在上面的例子中,解锁的方法解除对象的锁,下一个客户端可以增加价值的numvisits。
三。事件
1、application_onstart
application_onstart事件发生的新一届第一次创作之前(即在session_onstart事件),application_onstart事件被触发时,Web服务器启动并允许文件被应用程序所要求的application_onstart事件的处理必须写在Global.asa文件。
application_onstart事件的语法如下:
子application_onstart ..
端子
2、application_onend
的application_onend事件发生后的session_onend事件发生时,应用程序退出,并application_onend事件的处理过程也必须写在Global.asa文件。
让我们看看在使用应用程序对象时需要注意的事项。
ASP构建的对象不能存储在应用程序对象中。
< %
设置应用程序(var1)=会话
设置应用程序(VAR2)=请求
设置应用程序(var3 )=响应
设置应用程序(Var4 )=服务器
设置应用程序(var5 )=应用
设置应用程序(收位置之间画)= ObjectContext
%>
如果在应用程序对象中存储数组,不要直接更改存储在数组中的元素。
这是因为应用对象是作为一个集合来实现。数组元素,storedarray(3),没有得到一个新的任务,这个值将被包含在应用程序对象的集合,将覆盖任何信息被存储在该位置。建议当你存储阵列的应用对象,你得到一份之前检索或改变数组中的对象数组。当你操作一个数组,你可以存储所有阵列的应用对象,所以任何改变你将存储。以下脚本显示这。
---asp8a.asp--—
< %
Dim MyArray()
Redim MyArray(5)
MyArray(0)=你好
MyArray(1)=其他一些字符串
锁的应用。
应用(storedarray )= MyArray
解锁应用。
响应。重定向asp8b .asp
%>
---asp8b.asp--—
< %
localarray =应用(storedarray )
localarray(1)=
响应。写localarray(0)(1)localarray
锁的应用。
应用(storedarray )= localarray
解锁应用。
%>
另一个非常有用的ASP内置对象,对应用对象类似的角色是会议。我们可以使用会话对象来存储特定的用户会话所需的信息。当用户申请的页面之间的跳转,变量存储在会话中的对象将不会被清除,而这些变量将始终存在,当用户访问网页应用程序。当用户请求从应用程序的网页中,如果用户没有会话,Web服务器会自动创建一个会话对象。服务器终止会话时,会话过期或废弃。 U3000 U3000
服务器上的会话对象可以通过发送一个独特的cookie客户端程序管理,用户第一次请求页面的ASP应用程序,ASP检查HTTP头信息,看是否有在发送aspsessionid饼干过来,如果这样,服务器将启动新的会话,而会话生成一个全局唯一值的值作为新的aspsessionid cookie的值发送到客户端,使用cookie,可以访问存储在服务器上的客户信息。会话对象的最常见的作用是存储用户的喜好。比如,如果用户不不喜欢看一个图,可以将信息存储在会话对象。此外,它往往是在过程识别客户的身份。应该指出,会话状态仅在支持cookie的浏览器中保留。如果客户端关闭cookie选项,会话将不起作用。
一、属性
1、SessionID
SessionID属性返回用户的会话标识。创建会话时,服务器为每个会话生成一个单独的身份。会话身份返回一个长整形数据类型。在许多情况下,这可以用于网页登记统计。
2、超时
超时属性指定应用程序会话对象的超时时间限制。如果用户不在超时时间内刷新或请求Web页面,会话将终止。
两。方法
只有一种方法可以对对象进行会话,也就是放弃。放弃方法删除存储在会话对象中的所有对象,并释放这些对象的源。如果不显式调用放弃方法,服务器将在会话到期时删除这些对象。当服务器完成当前页时,下面的示例将释放会话状态。
U3000 U3000
三。事件
会话对象有两个可以用来启动和释放会话对象的事件。
1、本session_onstart事件发生在一个新的会话是由服务器创建。服务器进程的脚本执行请求的页面之前,session_onstart事件设置会话变量的最佳时机,因为他们是在访问任何网页。
虽然session_onstart事件包含重定向或方法调用、会话对象将保持。然而,服务器将停止处理Global.asa文件和触发事件的文件session_onstart脚本。
确保用户始终启动一个会话打开一个特定的网页时,你可以在session_onstart事件重定向的方法,当用户进入应用程序,服务器创建一个用户会话和进程的session_onstart事件脚本。你可以在这个事件的脚本检查用户是否打开的页面启动页。如果不是,则意味着用户调用响应重定向方法来启动Web页面:
子session_onstart
起始= / / StartHere MyApp。ASP
currentpage = request.servervariables(script_name )
如果strcomp(currentpage,起始页,1)然后
响应重定向(起始页)。
最后如果
端子
上面的程序只能运行在支持Cookie的浏览器。因为不支持Cookie SessionID cookie不返回到浏览器,服务器会创建一个新会话,当用户请求的网页。在这种方式下,每个请求的服务器,session_onstart脚本进行处理,将用户重定向到启动页面。
2,事件发生的session_onend会话时抛弃或时间。
关于使用会话对象的注意事项,应用程序对象是相似的,请参阅前面的文章。
会话可以以以下三种方式启动:
1,新用户请求访问URL。URL标识。在应用ASP文件和应用程序的Global.asa文件包含session_onstart过程。
2,用户在会话对象中存储一个值。
3、用户请求应用程序的s.asp文件和应用程序的Global.asa文件使用标签来创建具有会话作用域的对象的实例。
如果用户不要求或在规定时间内应用刷新任何页面,会话将自动结束。这一时期的默认值是20分钟。默认超时限制设置的应用程序可以通过设置在应用程序选项会话超时属性属性页在Internet服务管理器更改。这值应设置基于Web应用程序的要求和服务器的内存空间。例如,如果你想浏览您的Web应用程序只有几分钟,在每一页上,你应该缩短会话的默认超时值。过长的会话超时值将导致过度开放会议和Y存储器资源枯竭我们的服务器。对于特定的会话,如果您想设置一个小于默认超时值的超时值,您可以设置会话对象的超时属性。例如,以下脚本将超时值设置为5分钟。
U3000 U3000
当然,你也可以设置一个大于默认设置超时值,和会话超时属性决定了超时值。你也可以通过显式地结束会话的会话对象的Abandon方法。例如,一个退出按钮,在表格中提供的,和按钮的动作参数设置的URL。ASP文件包含以下命令。
U3000 U3000
今天,我们学习的两页的网站特别是ASP内置对象经常使用BBS或聊天,基于Web的,因为这两个对象在实践中是非常有用的,所以笔者将利用这4个ASP我们在下一章学到的对象,显示了一个完整的给大家玩的ASP应用程序,我相信通过这个练习,可以大大提高你的ASP应用和掌握理解。
这是本文的全部内容,希望能帮助您了解ASP和会话。