|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
无法实现跨操作系统的应用。当然这也是微软的理由之一,只有这样才能发挥ASP最佳的能力。可是我却认为正是Windows限制了ASP,ASP的概念本就是为一个能让系统运行于一个大的多样化环境而设计的;程序|实行实在就是使用文件“global.asa”!很多ASP编程老手都想晓得这器材是甚么?现实上,global.asa就是一个事务驱动程序,个中共包括4个事务处置历程:Application_OnStart、Application_OnEnd、Session_OnStart和Session_OnEnd。
当网站的一个使用程序的页面第一次被用户会见时,global.asa就被装载进内存。当使用程序(application)启动、停止,大概会话(session)入手下手、停止时,你就能够到场必要实行的剧本代码。
使用一些技能,你就能够利用global.asa文件到达企图实行义务的目标。
这里有一个例子:“跟踪网站有几会见者;在会见量到达100时,计数器复位到0,而且实行你事前体例的代码”。固然,依据本人的必要,你能够调剂会见量的下限数量100。
global.asa的内容以下:
<SCRIPTLANGUAGE=VBScriptRUNAT=Server>
SubApplication_OnStart
Application("SessionCount")=0
EndSub
SubSession_OnStart
Application.Lock
Application("SessionCount")=Application("SessionCount")+1
Application.Unlock
IfApplication("SessionCount")>100Then
Application.Lock
Application("SessionCount")=0
Application.Unlock
Hereyouwouldputanycodeyouneedtorun
donotsurroundthecodewith<%%>tags
Forexampleyoumightrunadatabasequerythatchecksforexpiredaccounts
Endif
EndSub
</SCRIPT>
上面,让我们看看一天内实行4次某义务的情形。你能够将日期和工夫的值存储在一个文本文件中,而且周期性地反省它。事先间已往6个小不时,写进新的日期与工夫到这个文本文件中,而且,启动你想要实行的义务。你能够改动“6”这个数值,从而更多大概更少地实行义务。
固然,下面的办法必要对文本文件设置读、写权限后才干准确实行,但这仍不掉为一个十分伶俐的办理计划!
在这个例程中,每有15个新会见者时,就反省文本文件一次。固然,你能够调剂“15”的数值,大概设定每当有新会见者时,都反省文本文件一次。但如许处置,无疑会减轻站点的负载,华侈服务器的资本!总之,反省的频度由你本人思索后设定。
例子中,必需包管初度写进文本文件的日期与工夫的正当性,不然,当程序初次读进一个空值时,就会产生运转毛病。
好比:将6/30/996:58:45PM初始写进文本文件的第一行。
以后,也能够到场一些代码,用来反省日期与工夫的写法,而且处置堕落信息。但初始写进一个正当的日期与工夫数值,将会更复杂一些。
global.asa的内容以下:
<SCRIPTLANGUAGE=VBScriptRUNAT=Server>
SubApplication_OnStart
Application("SessionCount")=0
EndSub
SubSession_OnStart
Application.Lock
Application("SessionCount")=Application("SessionCount")+1
Application.Unlock
IfApplication("SessionCount")>15Then
Application.Lock
Application("SessionCount")=0
Application.Unlock
SetObjMyFile=CreateObject("Scripting.FileSystemObject")
SetOpenMyFile=ObjMyFile.OpenTextFile(Server.MapPath("last-update.txt"))
MyFileValue=OpenMyFile.ReadLine
OpenMyFile.Close
IfDateDiff("h",MyFileValue,NOW)>6Then
Hereyouwouldputanycodeyouneedtorun
donotsurroundthecodewith<%%>tags
Forexampleyoumightrunadatabasequerythatchecksforexpiredaccounts
SetWriteMyFile=ObjMyFile.CreateTextFile(Server.MapPath("last-update.txt"))
WriteMyFile.WriteLine(NOW)
WriteMyFile.Close
Endif
EndIf
EndSub
</SCRIPT>
请注重:另有很多更好的办法到达反省的目标,这篇文章的目标是想起到举一反三的感化。
同时请记着:WEB站点的使用程序必定要设置为一个Application,如许“global.asa”文件才干起感化。很多假造域默许为Application,但上层的目次却不是。
最初的一点提醒:在将代码写进global.asa前,请先写进一个“ASP”文件中举行测试。假如测试失利,那末在global.asa中也将不克不及运转乐成。同时,确认文本文件的路径是准确的。
</p>ActiveServerPage技术为应用开发商提供了基于脚本的直观、快速、高效的应用开发手段,极大地提高了开发的效果。在讨论ASP的安全性问题之前,让我们来看看ASP是怎么工作的。 |
|