webForumDet fria alternativet

Dubbla OnStart i global.asa

ASP

2 svar · 186 visningar · startad av Korak

Medlem sedan maj 2001133 inlägg
Frågan#1

Kan man ha dubbla OnStart scripts i global.asa?
Jag har för mig att det ska gå att slå ihop dem på nåt sätt.
Min global.asa ser nu ut så här.
Högst upp (till en chat):

<OBJECT
	RUNAT="Server"
	SCOPE="Application" 
	ID="conquerChatUsers"
	PROGID="Scripting.Dictionary">
</OBJECT>

<OBJECT
	RUNAT="Server"
	SCOPE="Application" 
	ID="conquerChatRooms"
	PROGID="Scripting.Dictionary">
</OBJECT>

<OBJECT
	RUNAT="Server"
	SCOPE="Application" 
	ID="conquerChatMessages"
	PROGID="Scripting.Dictionary">
</OBJECT>

Efter det följer aktiva besökare:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
	SUB Application_OnStart
  		DIM Stats( 4, 100 )
  		Application( "Stats" ) = Stats
	END SUB
</SCRIPT>

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
 SUB Session_OnEnd
  Application.Lock
  statistik = Application( "Stats" )
  For i = 0 to UBOUND( statistik, 2 )
    IF statistik( 0, i ) = Session.SessionID THEN
      statistik( 0, i ) = ""
      EXIT FOR 
    END IF
  NEXT
  Application( "Stats" ) = statistik
  Application.UnLock
 END SUB
</SCRIPT>

Det jag sedan skulle vilja ha in är en kod för en Ad Rotator som ser ut så här:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server"> 
Sub Application_OnStart 
End Sub 

Sub Application_OnEnd 
End Sub 

Sub Session_OnStart 
session("ad")=0 
End Sub 

Sub Session_OnEnd 
End Sub 

</SCRIPT>

Hur gör jag lämpligast?

------------------

MVH, Korak
www.eskobar.nu

Medlem sedan juni 200032 967 inlägg
#2

Du kan bara ha en sub som heter Session_OnStart, och bara en som heter Application_OnStart. Men, du kan lägga in flera olika prylar i dessa.

Jag antar att dina <object>s skall ligga i application_onstart?

I så fall:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnStart
DIM Stats( 4, 100 )
Application( "Stats" ) = Stats

<OBJECT
RUNAT="Server"
SCOPE="Application" 
ID="conquerChatUsers"
PROGID="Scripting.Dictionary">
</OBJECT>
<OBJECT
RUNAT="Server"
SCOPE="Application" 
ID="conquerChatRooms"
PROGID="Scripting.Dictionary">
</OBJECT>

<OBJECT
RUNAT="Server"
SCOPE="Application" 
ID="conquerChatMessages"
PROGID="Scripting.Dictionary">
</OBJECT>

END SUB

SUB Session_OnStart
session("ad")=0 
END SUB

SUB Session_OnEnd
Application.Lock
statistik = Application( "Stats" )
For i = 0 to UBOUND( statistik, 2 )
IF statistik( 0, i ) = Session.SessionID THEN
statistik( 0, i ) = ""
EXIT FOR 
END IF
NEXT
Application( "Stats" ) = statistik
Application.UnLock
END SUB
</SCRIPT>

Alltså, de kan givetvis samexistera, så länge du ser till att lägga kodstyckena i rätt sub.

Mvh,

Medlem sedan maj 2001133 inlägg
#3

Tack för hjälpen!
Jag hade inte <objects> i application_onstart tidigare, men det är säkert jag som gjort fel.
Testar detta nu.

------------------

MVH, Korak
www.eskobar.nu

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