webForumDet fria alternativet

Applicaion i global.asa?

ASPur ASP

6 svar · 278 visningar · startad av bigsky

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

I global.asa's OnStart räknar jag antalet aktiva besökare enligt koden nedan. Men nu har jag två hemsidor på samma server och det skapar problem. Om någon surfar in på sida 1 uppdateras ju även räknaren för sida 2, även om ingen surfat in på den. Hur ska jag lösa detta?

Sub Session_OnStart()
   Application.Lock
      Session.Timeout = 20
      Application("NumUsers") = CInt(Application("NumUsers")) + 1
   Application.Unlock
End Sub
Medlem sedan dec. 20002 526 inlägg
#2

Bara en fraga, varfor har du CInt med i din application? Du kan ju inte ha 1,4356 anvandare?

Medlem sedan maj 2002821 inlägg
#3

Ja, det har du rätt i... bra fråga.

Medlem sedan dec. 20002 526 inlägg
#4

Bara papekade ;) annars vet jag tyvarr inte det dar med global.asa, har aldrig varit den dar global.asa-killen ;)

Medlem sedan mars 20002 836 inlägg
#5

på samma server eller på samma site?

På samma server kan du ha hur många siter som helst utan att global.asa "krånglar". Men, har du 2 siter under samma "site i IIS" så blir det problem.

Har du siterna går mot samma domän-namn eller har du konfat hostheadern så att den "redirectar" till rätt katalog vid olika domän-namn?

Den senare så kan du lösa det med Request.ServerVariables("HTTP_HOST"):

strHost = Request.ServerVariables("HTTP_HOST")

Select Case LCase(strHost)

	Case "www.minsite.com"
		Application("Site1Users") = Application("Site1Users") + 1

	Case "www.minandrasite.com"
		Application("Site2Users") = Application("Site2Users") + 1
End Select

otestat, men ngt liknande skulle kunna funka.
Annars kanske du får köra Request.ServerVariables("SCRIPT_NAME") och sedan kolla om de olika siternas "root" finns med (ie: /site1/ eller om /site2/ finns i SCRIPT_NAME)

cya,
PatrikB

Medlem sedan maj 2002821 inlägg
#6

Den ena sidan är en site kopplad till mitt roten på kontot hos webbhotellet, den andra är en site som är redirectad till samma konto, men till en undermapp under roten. Sidorna ligger under samma site i IIS med andra ord.
Skulle kunna använda din kod, men inte med HTTP_HOST då det vid redirecten blir samma rot site iaf. Får nog använda SCRIPT_NAME istället. Kan man få ett exempel där vi kollar om ett visst antal av de första bokstäverna är si och så.

Tex. om det fem första bokstäverna i stringen "strName" är "/sida1" osv.

Medlem sedan maj 2002821 inlägg
#7

Löste det med:

strName = Request.ServerVariables("SCRIPT_NAME")
      Select Case LCase(Left(strName,5))
        Case "/bsai"
          Application("NumUsers") = Application("NumUsers") + 1
        Case "/80ss"
          Application("NumUsers2") = Application("NumUsers2") + 1
      End Select
135 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)