Faili ya Global.asa ya ASP

Faili la Global.asa ni faili inayotumika kwa urahisi, inaweza kuwa na vitu ambavyo inaweza kufikia vingine vya ASP katika kila ukurasa, kama vile vipengele, mifano na matumizi ya maadili ya script za browser zote za kawaida.

Faili la Global.asa

Faili la Global.asa ni faili inayotumika kwa urahisi, inaweza kuwa na vitu ambavyo inaweza kufikia vingine vya ASP katika kila ukurasa, kama vile vipengele, mifano na matumizi ya maadili ya script za browser zote za kawaida.

Faili la Global.asa inaweza kuwa na maneno yafuatavyo:

  • Matukio ya Application
  • Matukio ya Session
  • Kumekadiri ya <object>
  • Maelezo ya TypeLibrary
  • Inaruhusu kufikia #include

Tahadhari:Faili la Global.asa lazima iwekwe katika kifungu cha kawaida cha programu ya ASP, na programu kila moja inaweza kuwa na faili ya Global.asa moja tu.

Matukio asa ya Global

在 Global.asa 中,我们可以告知 application 和 session 对象在启动和结束时做什么事情。完成这项任务的代码被放置在事件操作器中。Global.asa 文件能包含四种类型的事件:

Application_OnStart - 此事件会在首位用户从 ASP 应用程序调用第一个页面时发生。此事件会在 web 服务器重起或者 Global.asa 文件被编辑之后发生。"Session_OnStart" 事件会在此事件发生之后立即发生。

Session_OnStart - Hadharvu hii inatendeka kila mara inaonyesha mwanafunzi anapofaa kumekadiri kwa kiumia ya kwanza katika programu ya ASP.

Session_OnEnd - Hadharvu hii inatendeka kila mara inaonyesha mwanafunzi kuishika kwa session yake. Kama kwa msichana wa kawaida, session inatendeka kama hatuwezi kumekadiri kwa kumekadiri kwa muda wa zamani (kama msichana wa kawaida ni 20 dakika) kama hatuwezi kumekadiri kwa kumekadiri kwa ukurasa.

Application_OnEnd - Hadharvu hii inatendeka baada ya kionekana wa mwanafunzi wa kwanza kuishika kwa session yake. Kama maelezo, hadharvu hii inatendeka baada ya kumekadiri kwa kufungua mtaalamu wa Web.

Faili ya Global.asa inaweza kuwa kama hii:

<script language="vbscript" runat="server">
sub Application_OnStart
  'some code
end sub
sub Application_OnEnd
  'some code
end sub
sub Session_OnStart
  'some code
end sub
sub Session_OnEnd
  'some code
end sub
</script>

Tahadhari:Kwa sababu hatuwezi kutumia msukumu wa ASP kwa kuingiza script kwenye faili ya Global.asa, tunahitaji kutumia elementi ya HTML ya <script>.

Kumekadiri ya <object>

Inaweza kumekadiri kwa kutumia iri ya <object> kwenye faili ya Global.asa kumekadiri kiumia na uharibifu wa session au application.

Tahadhari:Iri ya <object> lazima iwe na kwanza kwenye <script>.

Makadaro:

<object runat="server" scope="scope" id="id"
{progid="progID"|classid="classID"}>
....
</object>
Paramita Maelezo
scope Mwalimu wa kiumia (kwa uharibifu) (Session au Application).
id Ingiza id kwa kiumia kama idpelepeo.
ProgID

Id kinaingia na ClassID. Muundo wa ProgID ni: [Vendor.]Component[.Version].

ProgID aupelewa kwa uharibifu.

ClassID

Ingiza id kwa kiumia COM kama idpelepeo kwa kiumia COM.

ProgID aupelewa kwa uharibifu.

mwigiza

Mwongozo wa kwanza unaingiza kina "MyAd" kinachotumika kwa kiambato cha ProgID kama kina ya uwanja wa session:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

Mwongozo wa pili unaingiza kina "MyConnection" kinachotumika kwa kiambato cha ClassID:

<object runat="server" scope="application" id="MyConnection"
classid="Clsid:8AD3067A-B3FC-11CF-A560-00A0C9081C21">
</object>

Vifaa vya mawasiliano yaliyotumika kwenye faili hii ya Global.asa yanaendelea kutumiwa na vishindi vya programu.

GLOBAL.ASA:

<object runat="server" scope="session" id="MyAd" progid="MSWC.AdRotator">
</object>

Unaweza kutumia kwa kila ukurasa wa programu ya ASP kwa kuzingatia kina "MyAd":

Mafomu ya .ASP:

<%=MyAd.GetAdvertisement("/banners/adrot.txt")%> 

Maelezo ya TypeLibrary

TypeLibrary (kitabu cha mawasiliano) ni kiwango kinapatikana kwenye DLL file ya kiumbe wa COM. Kwa kufikia makadaro ya kitabu cha mawasiliano katika Global.asa, inabaki kufikia matukio ya COM ya jina, na kama programu ya ASP inaonekana kwenye mawasiliano ya kosa. Kama programu ya saytini inayohusiana na kiumbe wa COM kinachotumika kwenye kitabu cha mawasiliano cha kina, inaweza kumtumia kitabu cha mawasiliano katika Global.asa.

Makadaro:

<!--METADATA TYPE="TypeLib"
file="filename"
uuid="typelibraryuuid"
version="versionnumber"
lcid="localeid"
-->
Paramita Maelezo
file Inaingiza njia yoyote ya kitabu cha mawasiliano. Paramita file au uuid, kila moja lazima iwe.
uuid Inaingiza kiambato kimoja cha kitabu cha mawasiliano. Paramita file au uuid, kila moja lazima iwe.
version Inayohusiana. Inatumiwa kwa kuchagua toleo. Kama toleo kilichotaka hakijafikii, haitumii toleo huzioenea kina.
lcid Inayohusiana. Inatumiwa kwa kubadilika eneo la kitabu cha mawasiliano.

Adhara ya kosa

Mtu wa mawasiliano haitumii kosa kimoja ya kuzingatia hivi:

Kosa Kampuni Maelezo
ASP 0222 Hisia inayotaka kwa taarifa ya mazingira ya kitabu cha mawasiliano
ASP 0223 Type library not found
ASP 0224 Type library cannot be loaded
ASP 0225 Type library cannot be wrapped

Tahadhari:Tukio ya METADATA kinapatikana kwenye chakula cha Global.asa kwa uwanja wote (kwenye kikundi cha <script> kwenye kikundi cha kwanza cha mifano na kwenye kikundi cha kufunga mifano). Nakijadiliana kuwasiliana kwa tukio hilo kwenye kikundi cha kwanza cha mifano cha chakula cha Global.asa.

Uchaguzi

Kuhusu uchaguzi wa ujenzi ambao unaweza kutumiwa katika chakula cha Global.asa:

Hii inaweza kuwaandikwa katika chakula cha Global.asa. Hii chakula cha data haujafungua ujumbe.

Hii inaweza kuwaandikwa kwa kikundi cha kwanza cha mifano na kikundi cha kufunga mifano. Kwenye kikundi cha kufunga mifano, unaweza kutumia Server, Application na Session. Kwenye kikundi cha kwanza cha mifano, unaweza kutumia vitu vingine vya kufungua.

Jinsi kutumia mchezo

Global.asa inatumika sana kwenye kuanzisha madarakala.

Matokeo ya hii inonyesha jinsi kufikiria wakati mtaarifu wa kwanza wa kumtaarifu eneo hilo. Wakati huo haujifungua katika msingi wa jina lake "started", na "started" inaeitwa kwa sababu vizuizi vya ASP yote vinafikia msingi hii:

<script language="vbscript" runat="server">
sub Session_OnStart
Session("started")=now()
end sub
</script>

Global.asa inaweza kutumiwa kwenye kusimamia ukurasa.

Matokeo ya hii inonyesha jinsi kupewa kwa kila mtaarifu mpya kuwaandikwa katika ukurasa mwingine, kwa matokeo huu kinaandikwa katika ukurasa "newpage.asp":

<script language="vbscript" runat="server">
sub Session_OnStart
Response.Redirect("newpage.asp")
end sub
</script>

Tunaweza kuwaainisha mapigani katika Global.asa.

Kwa matokeo ya hii, kama hivyo kimeanza kufungua mtandao wa web, kikundi cha kwanza cha mifano kinatokana. Kisha, kikundi cha kwanza cha mifano kinakubali mchezo mwingine jina lake "getcustomers". Mchezo mwingine huo kinafungua chakula cha data, kisha kinapata rekodi ya "customers" kutoka tabia ya "customers". Rekodi hii inaitwa kwa jina la msingi, kwa sababu haujafungua chakula cha data, vizuizi vya ASP yote zinafikia msingi hii:

<script language="vbscript" runat="server">
sub Application_OnStart
getcustomers
end sub
sub getcustomers 
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
set rs=conn.execute("select name from customers")
Application("customers")=rs.GetRows
rs.Close
conn.Close
end sub
</script>

Mfano wa Global.asa

Kwenye mivumbuzi hii, tungependa kumaliza fayile ya Global.asa ambayo itakaa inafikia wasomaji wa sasa.

Application_OnStart itakaa kumefikia muwajifunze "visitors" na 0 kama ukweli wa kuanza shughuli ya server.

Kila mara kama mtu mpya unaingia, msaada ya Session_OnStart itakaa kumefikia kwenye muwajifunze "visitors" 1.

Kila mara kama msaada ya Session_OnEnd inapoteza, msaada hii itakuwa kumfusika kwenye muwajifunze "visitors" kumachukua 1.

Fayile ya Global.asa:

<script language="vbscript" runat="server">
Sub Application_OnStart
Application("visitors")=0
End Sub
Sub Session_OnStart
Application.Lock
Application("visitors")=Application("visitors")+1
Application.UnLock
End Sub
Sub Session_OnEnd
Application.Lock
Application("visitors")=Application("visitors")-1
Application.UnLock
End Sub
</script>

Hii ASP fayile itakua kuonyesha idadi ya wasomaji wa sasa:

<html>
<head>
</head>
<body>
<p>Wana <%response.write(Application("visitors"))%> hapa kwa sasa!</p>
</body>
</html>