仓酷云

标题: ASP网页编程之Global.asa利用手册 [打印本页]

作者: 老尸    时间: 2015-1-16 23:41
标题: ASP网页编程之Global.asa利用手册
ASP最大的缺点在于网络的安全性和可靠性,企业将经营数据放在开放的平台上,最大的担忧就是如何保证这些数据不被其他人破坏。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工具可用。

语法
<SCRIPTLANGUAGE=ScriptLanguageRUNAT=Server>SubSession_OnEnd...EndSub

</SCRIPT>

参数
</p>无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;
作者: 乐观    时间: 2015-1-20 11:13
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者: 透明    时间: 2015-1-24 16:57
交流是必要的,不管是生活还是学习我们都要试着去交流,通过交流我们可以学到很多我们自己本身所没有的知识,可以分享别人的经验甚至经历。
作者: 山那边是海    时间: 2015-2-2 11:24
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 兰色精灵    时间: 2015-2-7 18:51
先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习
作者: 简单生活    时间: 2015-2-22 22:55
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者: 飘飘悠悠    时间: 2015-3-7 04:01
虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
作者: 仓酷云    时间: 2015-3-14 09:15
掌握asp的特性而且一定要知道为什么。
作者: 愤怒的大鸟    时间: 2015-3-21 01:39
弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2