webForumDet fria alternativet

Global.asa - Tips Sökes

ASP

5 svar · 350 visningar · startad av T_Codez

Medlem sedan juli 2001458 inlägg
Frågan#1

Hej alla "Våga vägra sol & semester" individer

I Application_OnStart har jag lite kodz som uppdaterar en databas den 1:a i varje månad.

Det jag skulle vilja är att på någe vis få den att bara köras en gång och inte varje gång någon glider in på siten.

Jag vet... Det är nog ganska enkelt. Men idag är det bara seg gammal kola som rinner i min hjärna... Och skulle om det fanns någon klubb där man kan bli utnämnd till dagens Riksmos för ett bra genomförande av precis ingenting. Så skulle jag med lätthet få den titeln idag.

Anyway... Mycke B..Shit nu.

Har ni några ideer eller uppslag hur jag ska gå till väga för att lägga in en koll för det. Kanske finns det något som heter "runonce" :q

Tack för uppmärksamheten

mvh

/T

Medlem sedan juli 20003 825 inlägg
#2

Förslag:
Använd Application. De fungerar som sessions fast gäller för hela servern.

IF application("lastUpdated") < dateAdd("m", now(), -1) THEN
-- do the code...
-- application("lastUpdated") = now()
END IF

Problem blir det om du måste starta om datorn, bara ha det i åtanke.

Medlem sedan juli 2001458 inlägg
#3

Thankz :e

Ska testa det...

Problemet du nämner gör väl inte mer än att den updaterar en gång till nästa gång globalfilen körs va?

Om så är fallet är det lugnt. Jag raderar gamla poster innan nya läses in.

Eller kan det bli mer trubbel än så!?

När du säger:
Använd Application. De fungerar som sessions fast gäller för hela servern.

Kan det påverka andra applicationer!? Näää, eller :q

/T

Medlem sedan juni 200291 inlägg
#4

Application_OnStart

Körs varje gång du startar upp sajten dvs, när IIS servern går igång eller efter det att du ändrat något i globala.asa, den körs även om du stoppar websajten och startar den i IISen. Och den går inte att starta igen färrän applikationen startas om

Session _OnStart
Körs varje gång någon går in på din sajt...

Det samma gäller för Applicattion_OnEnd och Session_OnEnd fast då när applikationen eller sessensionen avslutas .

Mitt tips är att du lägger en lite check i Session_OnStart som kollar när den senaste uppdateringen av applikations databasen fixades.

Och givetvis så är global.asa privat för saten och på verkar inte andra sajter eller applikationer.

Medlem sedan juli 20003 825 inlägg
#5
' ## GLOBAL.ASA

<SCRIPT LANGUAGE="VBScript" RUNAT="server">

SUB Application_OnStart

	' ## COUNTER FOR THE ENTIRE SITE
	Application("ActiveUsers") = 0

END SUB

SUB Session_OnStart
	' ## SWEDISH DATES
	session.LCID = 1053

IF Request.ServerVariables("SERVER_NAME") <> "192.168.1.44" THEN
	Set WWWCnt = Server.CreateObject("WasaWeb.Counter")
		WWWCnt.WebName = "swiab" ' <- ÄNDRA!
		Session("visitors") = WWWCnt.WebDigits
	Set WWWCnt = Nothing
END IF

	Session.Timeout = 30
	Session("Start") = Now
	Application.Lock
		application("ActiveUsers") = application("ActiveUsers") + 1
		application("visitors")    = application("visitors")    + 1
	Application.UnLock

END SUB

SUB Session_OnEnd

	Application.Lock
		application("ActiveUsers") = application("ActiveUsers") - 1
	Application.UnLock

END SUB

SUB Application_OnEnd

END SUB

</SCRIPT>

På sidan skriver du
<%
response.write "Aktiva besökare är " & application("activeUsers")
%>

Medlem sedan juli 2001458 inlägg
#6

Wow :o

Det var inte illa :h

Jag tackar och bockar för lektionen och för koden som födde lite ideer för andra grejer också.

Thankz Eclipe and tostewe. This one is for you guys :birp

/T

257 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
129 ms — deklarationer (db)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)