冷月葬花魂 发表于 2015-1-16 23:36:03

ASP网页编程之Global.asa文件用法年夜全

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服务器,所以性能稳定性也一般

第二个灵魂 发表于 2015-1-19 15:35:55

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

只想知道 发表于 2015-1-24 11:15:17

尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。

莫相离 发表于 2015-1-30 22:45:17

我想问如何掌握学习节奏(先学什么再学什么)最好详细点?

乐观 发表于 2015-2-2 18:27:54

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

老尸 发表于 2015-2-8 04:12:04

运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。

小女巫 发表于 2015-2-24 04:04:56

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

不帅 发表于 2015-3-7 10:51:41

兴趣爱好,那么你无须学编程,申请一个域名和空间,在网上下载一些免费开源的CMS系统,你不用改代码,只须熟悉它们的后台操作,像office一样简单方便,很快就能建一个站点,很多站长都是这样做的

兰色精灵 发表于 2015-3-15 01:00:05

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

飘灵儿 发表于 2015-3-21 15:28:13

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。
页: [1]
查看完整版本: ASP网页编程之Global.asa文件用法年夜全