|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP一般认为只能运行在IIS上,正如前面所提到的,这并不是十分正确,事实上,ASP也能运行在Apache上。ApacheASP可在任意Apache服务器上运行有限的ASP功能,所需做的,只需打开mod_perl。Global.asa文件是一个可选文件,用户能够在该文件中指定事务剧本,并声明具有会话和使用程序感化域的工具。该文件的内容
给用户显现的,而是用来存储事务信息和由使用程序全局利用的工具。该文件的称号必需是Global.asa且必需寄存在使用程序的
根目次中。每一个使用程序只能有一个Global.asa文件。
Global.asa文件只能包括以下内容:
1.使用程序事务
2.会话事务
3.<OBJECT>声明
TypeLibrary声明
假如包括的剧本没有效<SCRIPT>标志封装,或界说的工具没有会话或使用程序感化域,则服务器将前往毛病。服务器会疏忽已标
记的但未被使用程序或会话事务利用的剧本和文件中的HTML语句。
能够用任何撑持剧本的言语编写Global.asa文件中包括的剧本。假如多个事务利用统一种剧本言语,就能够将它们构造在一组
<SCRIPT>标志中。
当用户保留对Global.asa文件所做的变动时,在从头编译Global.asa文件之前,服务器会停止处置以后使用程序的一切请
求。在此时代,服务器回绝其他哀求并前往一个毛病动静,申明正在重启动使用程序,不克不及处置哀求。
当用户以后的一切哀求处置完以后,服务器对每一个会话挪用Session_OnEnd事务,删除一切举动会话,并挪用
Application_OnEnd事务封闭使用程序,然后编译Global.asa文件。接上去,用户的哀求将启动使用程序并创立新的会话,触
发Application_OnStart和Session_OnStart事务。
可是,保留Global.asa文件中所包括的文件的变动其实不能使服务重视新编译Global.asa。为了让服务器辨认包括文件的修改,
必需再保留一下Global.asa文件。
在Global.asa文件中声明的历程只能从一个或多个与Application_OnStart、Application_OnEnd、Session_OnStart和
Session_OnEnd事务相干的剧本中挪用。在基于ASP的使用程序中的ASP页中,它们是不成用的。
要在使用程序之间共享历程,可在独自的文件中声明这些历程,然后利用服务器真个包括(SSI)语句将该文件包括在挪用该历程
的ASP页中。一般,包括文件的扩大名应为.inc。
基于ASP的使用程序由在其根目次及其子目次中一切文件构成。使用程序在用户初次翻开使用程序中的某一Web页时启动,在服
务器封闭时停止。使用程序有两个事务,即Application_OnStart事务和Application_OnEnd事务。
用户能够在Global.asa文件中为这些事务指定剧本。当使用程序启动时,服务器在Global.asa文件中查找并处置
Application_OnStart事务剧本。当使用程序停止时,服务器处置Application_OnEnd事务剧本。
1.Application_OnStart
Application_OnStart事务在初次创立新的会话(即Session_OnStart事务)之前产生。只要Application和Server内建
工具是可用的。在Application_OnStart事务剧本中援用Session、Request或Response工具将招致毛病。
语法
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>SubApplication_OnStart...EndSub
</SCRIPT>
参数
ScriptLanguage
指定用于编写事务剧本的剧本言语。它能够是任何撑持剧本编写的言语,比方VBScript或JScript。假如多个事务利用统一种
剧本言语,就能够将它们构造在一个<SCRIPT>标志下。
2.Application_OnEnd
Application_OnEnd事务在使用程序加入时于Session_OnEnd事务以后产生,只要Application和Server内建工具可用。
语法
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>SubApplication_OnEnd...EndSub
</SCRIPT>
参数
ScriptLanguage
指定用于编写事务剧本的剧本编写言语。能够是任何一种撑持剧本的言语,比方VBScript或JScript。假如有多个事务利用同
一种剧本编写言语,就能够将它们构造在一组<SCRIPT>标志下。
正文
不克不及在Application_OnEnd剧本中挪用MapPath办法。
当没有会话的用户在翻开使用程序中的Web页时,Web服务器会主动创立会话。当超时或服务器挪用Abandon办法时,服务器
将停止该会话。
会话有两个事务,即Session_OnStart事务和Session_OnEnd事务。
能够在全局文件Global.asa中为这两个事务指定剧本。当会话入手下手时,服务器在Global.asa文件中查找并处置
Session_OnStart事务剧本。该剧本将在处置用户哀求的Web页之前处置。在会话停止时,服务器将处置Session_OnEnd事务
剧本。
1.Session_OnStart
Session_OnStart事务在服务器创立新会话时产生。服务器在实行哀求的页之前先处置该剧本。Session_OnStart事务是设置会
话期变量的最好机会,由于在会见任何页之前城市先设置它们。一切内建工具(Application、ObjectContext、Request、
Response、Server和Session)都能够在Session_OnStart事务剧本中利用和援用。
语法
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>SubSession_OnStart...EndSub
</SCRIPT>
参数
ScriptLanguage
指定用于编写事务剧本的剧本编写言语。能够是任何一种撑持剧本的言语,比方VBScript或JScript。假如有多个事务利用同
一种剧本编写言语,就能够将它们构造在一组<SCRIPT>标志下。
示例
只管在Session_OnStart事务包括Redirect或End办法挪用的情形下Session工具仍会坚持,但是服务器将中断处置
Global.asa文件并触发Session_OnStart事务的文件中的剧本。
举一个例子,为了确保用户在翻开某个特定的Web页时一直启动一个会话,就能够在Session_OnStart事务中挪用Redirect
办法。当用户进进使用程序时,服务器将为用户创立一个会话并处置Session_OnStart事务剧本。您能够将剧本包括在该事务中
以便反省用户翻开的页是否是启动页,假如不是,就唆使用户挪用Response.Redirect办法启动网页。其演示以下例所示。
<SCRIPTRUNAT=ServerLanguage=VBScript>
SubSession_OnStart
Makesurethatnewusersstartonthecorrect
pageoftheASPapplication.
ReplacethevaluegiventostartPagebelow
withthevirtualpathtoyourapplications
startpage.
startPage="/MyApp/StartHere.asp"
currentPage=Request.ServerVariables("SCRIPT_NAME")
Doacase-insensitivecompare,andifthey
dontmatch,sendtheusertothestartpage.
ifstrcomp(currentPage,startPage,1)then Response.Redirect(startPage) endifEndSub</SCRIPT>
上述示例只能在撑持cookie的扫瞄器中运转。由于不撑持cookie的扫瞄器不克不及前往SessionIDcookie,以是,每当用户请
求Web页时,服务器城市创立一个新会话。如许,关于每一个哀求,服务器都将处置Session_OnStart剧本并将用户重定向到启
动页中。假如您要利用上面的剧本,倡议您在启动页上放一个关照,告知用户该站点请求撑持cookie的扫瞄器。
正文
请注重,在Redirect办法以后的任何Session_OnStart事务剧本都不会实行。因而,应当在您的事务剧本的最初再挪用
Redirect办法。其演示以下例所示。
<SCRIPTLANGUAGE=VBScriptRUNAT=Server>
SubSession_OnStart
Sessioninitializationscript
Response.Redirect"http:/server/app/StartHere.asp"
Endsub
</SCRIPT>
在下面的例子中,Redirect办法在实行会话初始化剧本时代埋没一切显现给客户的笔墨。
2.Session_OnEnd
Session_OnEnd事务在会话被保持或超时产生。在服务器内建工具中,只要Application、Server和Session工具可用。
语法
asp可以使用微软的activeX使得网页功能无比强大,不过安全性也较差,而且是基于的windows服务器,所以性能稳定性也一般 |
|