第二个灵魂 发表于 2015-1-16 22:54:46

ASP教程之ASP内建工具Application 和 Session

想法是和程序员的想法不一样的.至于为什么.大家去想一想.跟心理学有关的application|session|工具墨客

  在上一篇中作者给人人具体先容了ASP内建工具Response的利用办法,在这一篇中作者将持续给人人先容另两个十分有用且主要的ASP的内建工具Application和Session。  在ASP的内建工具中除用于发送、吸收和处置数据的工具外,另有一些十分有用的代表ActiveServer使用程序和单个用户信息的工具。  让我们先来看看Application工具。在统一假造目次及其子目次下的一切.asp文件组成了ASP使用程序。我们不但可使用Application工具,在给定的使用程序的一切用户之间共享信息,并在服务器运转时代耐久的保留数据。并且,Application工具另有把持会见使用层数据的办法和可用于在使用程序启动和中断时触发历程的事务。

  上面就让我们一同来进修Application工具。

  1、属性  固然Application对象没有内置的属性,但我们可使用以下句法设置用户界说的属性也可称为汇合。

  Application("属性/汇合称号")=值

  我们可使用以下剧本声明并创建Application工具的属性。<%Application("MyVar")="Hello"SetApplication("MyObj")=Server.CreateObject("MyComponent")%>  一旦我们分派了Application对象的属性,它就会耐久地存在,直到封闭WEB服务器服务使得Application停止。因为存储在Application对象中的数值能够被使用程序的一切用户读取,以是Application对象的属性出格合适在使用程序的用户之间传送信息。

  2、办法  Application工具有两个办法,它们都是用于处置多个用户对存储在Application中的数据举行写进的成绩

  1、Lock方法克制其他客户修正Application对象的属性。

  Lock办法制止其他客户修正存储在Application工具中的变量,以确保在统一时候唯一一个客户可修正和存取Application变量。假如用户没有明白挪用Unlock办法,则服务器将在.asp文件停止或超时后即排除对Application工具的锁定。

  让我们来看看上面这段用Application来纪录页面会见次数的程序:<%DimNumVisitsNumVisits=0Application.LockApplication("NumVisits")=Application("NumVisits")+1Application.Unlock%>接待到临本网页,你是本页的第<%=Application("NumVisits")%>位访客!  将以上剧本保留在你的.asp文件中,就十拿九稳地给你的页面增加了一个计数器。

  2、和Lock办法相反,Unlock办法同意其他客户修正Application工具的属性。

  在下面的例子中,上述例子中,Unlock办法排除工具的锁定,使得下一个客户端可以增添NumVisits的值。

  3、事务

  1、Application_OnStart

  Application_OnStart事件在初次创立新的会话(即Session_OnStart事件)之前产生。当WEB服务器启动并同意对使用程序所包括的文件举行哀求时就触发Application_OnStart事件。Application_OnStart事件的处置历程必需写在Global.asa文件当中。  Application_OnStart事务的语法以下:<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>SubApplication_OnStart...EndSub</SCRIPT>  2、Application_OnEnd  Application_OnEnd事务在使用程序加入时于Session_OnEnd事务以后产生,Application_OnEnd事务的处置历程也必需写在Global.asa文件当中。

  上面让我们来看看在利用Application工具时必需注重的一些事项。

  不克不及在Application对象中存储ASP内建工具。比方,上面的每行都前往一个毛病。<%SetApplication("var1")=SessionSetApplication("var2")=RequestSetApplication("var3")=ResponseSetApplication("var4")=ServerSetApplication("var5")=ApplicationSetApplication("var6")=ObjectContext%>  若您将一个数组存储在Application工具中,请不要间接变动存储在数组中的元素。比方,以下的剧本没法运转。<%Application("StoredArray")(3)="newvalue"%>  这是由于Application对象是作为汇合被完成的。数组元素StoredArray(3)未取得新的赋值。而此值将包括在Application对象汇合中,并将掩盖此地位之前存储的任何信息。倡议您在将数组存储在Application对象中时,在检索或改动数组中的工具前猎取数组的一个正本。在对数组操纵时,您应再将数组全体存储在Application对象中,如许您所做的任何修改将被存储上去。以下的剧本对此举行演示。---asp8a.asp---<%dimMyArray()RedimMyArray(5)MyArray(0)="hello"MyArray(1)="someotherstring"Application.LockApplication("StoredArray")=MyArrayApplication.UnlockResponse.Redirect"asp8b.asp"%>---asp8b.asp---<%LocalArray=Application("StoredArray")LocalArray(1)="there"Response.WriteLocalArray(0)&LocalArray(1)Application.LockApplication("StoredArray")=LocalArrayApplication.Unlock%>  与Application工具具有邻近感化的另外一个十分有用的ASP内建工具就是Session。我们可使用Session工具存储特定的用户会话所需的信息。当用户在使用程序的页之间跳转时,存储在Session工具中的变量不会扫除,而用户在使用程序中会见页面时,这些变量一直存在。当用户哀求来自使用程序的Web页时,假如该用户还没有会话,则Web服务器将主动创立一个Session工具。当会话过时或被保持后,服务器将停止该会话。  经由过程向客户程序发送独一的Cookie能够办理服务器上的Session工具。当用户第一次哀求ASP使用程序中的某个页面时,ASP要反省HTTP头信息,检察是不是有在报文中着名为ASPSESSIONID的Cookie发送过去,假如有,则服务器会启动新的会话,并为该会话天生一个全局独一的值,在把这个值作为新ASPSESSIONIDCookie的值发送给客户端,恰是利用这类Cookie,能够会见存储在服务器上的属于客户程序的信息。Session工具最多见的感化就是存储用户的首选项。比方,假如用户指明不喜好检察图形,就能够将该信息存储在Session工具中。别的其还常常被用在判别客户身份的程序中。要注重的是,会话形态仅在撑持cookie的扫瞄器中保存,假如客户封闭了Cookie选项,Session也就不克不及发扬感化了。

  1、属性

  1、SessionID

  SessionID属性前往用户的会话标识。在创立会话时,服务器会为每个会话天生一个独自的标识。会话标识以长整形数据范例前往。在良多情形下SessionID能够用于WEB页面注册统计。

  2、TimeOut  Timeout属性以分钟为单元为该使用程序的Session工具指定超不时限。假如用</p>asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般

简单生活 发表于 2015-1-20 06:05:41

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

柔情似水 发表于 2015-1-28 05:27:13

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

飘飘悠悠 发表于 2015-2-5 11:31:56

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。

再见西城 发表于 2015-2-11 12:56:13

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

深爱那片海 发表于 2015-3-2 12:33:17

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

莫相离 发表于 2015-3-11 03:36:23

另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)

金色的骷髅 发表于 2015-3-17 19:35:15

完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。

飘灵儿 发表于 2015-3-24 22:27:29

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?
页: [1]
查看完整版本: ASP教程之ASP内建工具Application 和 Session