Katalog ASP odkaz∙: Hledßte informace o ASP? Zkuste nßÜ nov² katalog odkaz∙ na ASP weby. Vφce zde...
TextLink.cz
VyÜlo: 30.11.2000 Rubrika: ASP - ZdrojovΘ k≤dy

Jak zjistit poΦet aktußln∞ p°ipojen²ch nßvÜt∞vnφku k VaÜemu webu?
Snφte o ASP k≤du, kter² do VaÜich strßnek vlo₧φ n∞co jako Tento server si prßv∞ Φte 25 Φtenß°∙? Netruchlete a p°eΦt∞te si tento Φlßnek. Dozvφte se zßkladnφ vlastnosti prßce se souborem global.asa, promenn²ch Application a do ruky se Vßm dostane hotov² zdrojov² k≤d pro slibovanΘ poΦφtadlo nßvÜt∞vnφk∙. Vφce v Φlßnku...

Vlo₧te si do sv²ch strßnek poΦφtadlo, kterΘ Vßm ukß₧e poΦet prßv∞ p°ipojen²ch lidφ. Takovouto parßdiΦku naleznete opravdu na hodn∞ webech, tak proΦ ji nemφt i na svΘm.

Soubor global.asa, kter² je nutnΘ umφstit do rootu VaÜeho webu obsahuje urΦitΘ SUBy resp. funkce, kterΘ se provßdφ v jistou dobu. KonkrΘtn∞ se jednß o Application_OnStart, Application_OnEnd, Session_OnStart a Session_OnEnd.

Pomocφ t∞chto funkcφ zajistφme p°iΦtenφ Φφsla jedna do prom∞nnΘ typu Application(prom∞nnß, kterß se uchovßvß v pam∞ti na ·rovni aplikace) a po odpojenφ nßvÜt∞vnφka toto Φφslo zmenÜime o jedniΦku.

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
'Toto je povinnß hlaviΦka global.asa souboru.

Sub Application_OnStart
'Funkce, kterß se provede p°i nastartovßnφ webovskΘho serveru.
'Nadefinovßnφ klφΦovΘho slova(prom∞nnΘ) v Application.
Application("ActiveUsers") = 0
End Sub

Sub Session_OnStart
'Nßsledujφcφ k≤d se provede p°i p°ipojenφ
'nßvÜt∞vnφka k serveru.
'P°iΦte se jedniΦka do prom∞nnΘ ActiveUser

Session.Timeout = 10
'Nastavenφ doby trvßnφ(v minutßch) jednΘ Session.

Session("Start") = Now

Application.Lock
'P°ed zßpisem do prom∞nnΘ typu Application je nutnΘ
'zamknout tuto oblast.
'Je to z d∙vodu mo₧nosti nastßnφ dvou zm∞n v jednu
'chvφli.

Application("ActiveUsers") = Application("ActiveUsers") + 1
' Zv²Üenφ poΦtu Φtenß°∙ o 1.
Application.UnLock
'Op∞tovnΘ uvoln∞nφ(odemΦenφ) Application.

End Sub

Sub Session_OnEnd
'Tato funkce se provede po vyprÜenφ Session,
'tedy po dob∞ nastavenΘ jako Session.Timeout.
Application.Lock
'Op∞t zamkneme Application.
Application("ActiveUsers") = Application("ActiveUsers") - 1
'OdeΦteme jedniΦku z ActiveUser.
Application.UnLock
'A odemkneme Application.
End Sub

</SCRIPT>


V²Üe uveden² k≤d je nutnΘ ulo₧it jako global.asa do rootu VaÜeho webu.

Zobrazenφ aktußlnφho poΦtu nßvÜt∞vnφk∙

Pro zobrazenφ Φφsla ve VaÜφ strßnce lze pou₧φt nap°φklad tento k≤d:

<%=Application("ActiveUsers")%>

Chcete-li v²stup pat°iΦn∞ vylepÜit, pou₧ijte nßsledujφcφ °ßdky:

<% intPocet = Application("ActiveUsers") If intPocet = 1 Then Response.Write "Tento server si prßv∞ Φte " & intPocet & " Φtenß°." ElseIf intPocet < 5 Then Response.Write "Tento server si prßv∞ Φtou " & intPocet & " Φtenß°i." Else Response.Write "Tento server si prßv∞ Φte " & intPocet & " Φtenß°∙." End if %>

Jak to vylepÜit?

Ka₧dß aplikace mß svΘ mouchy, kterΘ by se dali zlep∞Üovat. Ani tato nenφ vyjφmkou.

VeÜkerΘ informace(vlastn∞ jenom jedna) se uchovßvß v prom∞nnΘ typu Application, kterß je pam∞¥ovß prom∞nnß resp. vyma₧e se p°i restartovßnφ serveru. Hodilo by se ulo₧it(nejlΘpe do textovΘho souboru) poslednφ stav, kter² na poΦφtadle nastal a to pomocφ funkce Application_OnEnd a p°i zapnutφ webovskΘho serveru op∞t naplnit prom∞nnou ActiveUser daty ze souboru.

VeÜkerΘ zdrojovΘ k≤dy si stßhn∞te z http://www.netday.cz/web/examples/counter/source.zip.

Zden∞k Cendra
ceskywap@ceskywap.cz



   Souvisejφcφ Φlßnky
TextLink.cz