ASP基础Cookie VS Session vs Application

来源:互联网 发布:淘宝换货要不要点退款 编辑:程序博客网 时间:2024/05/29 18:02

Cookie常用来对用户进行识别

Cookie是一种服务器留在用户电脑中的小文件。每当同一台电脑通过浏览器请求页面时,这台电脑也会发送Cookie

创建cookieResponse.Cookies(必须位于html标签之前)

<%

Response.Cookies("firstname")="Alex"

Response.Cookies("firstname").Expires=#May10,2020#

%>

取回Cookie:Request.Cookies

<%

fname=Request.Cookies("firstname")

response.write("Firstname=" &fname)

%>

结果显示: Firstname=Alex

 

不支持cookie 可以使用URL传参或者Form

 

 

ASPSession对象

Session对象用于存储用户的信息。存储于session对象中的变量持有单一用户的信息,并且对于一个应用程序中的所有页面都是可用的。

ASP为每位用户创建了一个唯一的cookiecookie被传送至客户端,它含有可识别用户的信息。这种借口被称作session对象。

session对象用于存储关于用户的信息或者为一个用户的session更改设置。存储于session对象中的信息通常都是nameid以及参数。服务器会为每个新的用户创建一个新的session,并在session到期时撤销掉这个session对象。

 

session开始:

当某个新用户请求了一个ASP文件,并且在Global.asa文件引用了session_OnStart子程序时;

当某个值存储在Session变量中时;

当某个用户请求了一个ASP文件,并且Global.asa使用<object>标签通过sessionscope来例示某个对象时;

 

session结束:

加入用户没有在规定的时间内在应用程序中请求或者刷新页面,session就会结束。默认值为20分钟。

如果要更改session超时的间隔,可以设置Timeout属性。

<%

Session.Timeout=5//5分钟

%>

<%

Session.Abandon//立即结束session

%>

session存取变量

<%

Session("username")="DonaldDuck"

Session("age")=50

%>

Welcome<%Response.Write(Session("username"))%>

 

ASPApplication对象

在一起协同工作已完成某项任务的一组ASP文件称作应用程序applicationASP中的application对象用于将这些文件捆绑在一起。

Application对象用于存储和访问来自任何页面的变量,类似于session对象。不同之处在于,所有的用户分享一个application对象。而session对象和用户的关系是一一对应的。

 

application对象存有会被应用程序中的许多页面使用的信息(比如数据库连接信息)。这意味着可以从任何的页面访问这些信息。同时也意味着你可以在一个地点改变这些信息。然后这些改变会自动反映在所有的页面上。

 

存储和取回Application变量

可以在“Global.asa”中创建Application变量:

<script language="vbscript"runat="server">

 

Sub Application_OnStart

application("vartime")=""

application("users")=1

End Sub

 

</script>

 

ASPGlobal.asa文件

Global.asa文件是一个可选的文件,它可包含可被ASP应用程序中每个页面访问的对象、变量以及方法的声明。

Global.asa 文件可包含下列内容:

 Application事件

 Session事件

 <object>声明

 TypeLibrary声明

 #include指令

 

注释:Global.asa 文件须存放于 ASP 应用程序的根目录中,且每个应用程序只能有一个 Global.asa文件。

 

Global.asa 中的事件

 

Global.asa 中,我们可以告知 application session对象在启动和结束时做什么事情。完成这项任务的代码被放置在事件操作器中。Global.asa文件能包含四种类型的事件:

 

Application_OnStart - 此事件会在首位用户从ASP 应用程序调用第一个页面时发生。此事件会在 web服务器重起或者 Global.asa 文件被编辑之后发生。"Session_OnStart"事件会在此事件发生之后立即发生。

 

Session_OnStart - 此事件会在每当新用户请求他或她的在 ASP应用程序中的首个页面时发生。

 

Session_OnEnd - 此事件会在每当用户结束session时发生。在规定的时间(默认的事件为 20 分钟)内如果没有页面被请求,session就会结束。

 

Application_OnEnd - 此事件会在最后一位用户结束其 session之后发生。典型的情况是,此事件会在 Web 服务器停止时发生。此子程序用于在应用程序停止后清除设置,比如删除记录或者向文本文件写信息。