1. Global.asa är en fil som samlar ett par metoder för att utföra händelser som oftast är svåra att programmera på vanligt sätt. Ex: Application_OnStart, Session_OnStart, Application_OnEnd, Session_OnEnd. Som namnen visar, är detta något som händer i början/slutet av sessionen/applicationen.
Den kan se ut såhär:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
sub Application_OnStart
application("strConn") = "Provider=Microsoft.JET.OLEDB.4.0;Data Source=" & server.mappath("/data/data.mdb")
end sub
sub Session_OnStart
response.cookies("kaka")("kaka1") = "Nåt värde"
response.expires("kaka").expires = datediff(date,"d",7)
end sub
sub Session_OnEnd
end sub
sub Application_OnEnd
end sub
</SCRIPT>
T.ex. i Session_OnStart, där placerar vi en cookie på klienten som slutar gälla om exakt sju dagar. Alltså, så fort en besökare skriver in applikationens webbadress och sajten blir träffad, körs Session_OnStart. Här startar alltså sessionen. Alltså; alla som besöker våran sajt, har automagiskt samma cookie. Givetvis finns Session_OnEnd, men den behöver jag väl inte förklara, mer än att jag vet att den tyvärr inte är så pålitlig. ;) I application_OnStart skapar vi en application-variabel med vår connectionstring i, som vi sedan kan använda på alla sidor där vi använder databasen. Dynamisk värre. :OO ;) Detta händer alltså enbart när applicationen startas, alltså när du startar webbplatsen i IIS:en genom att trycka på den stora Play-knappen. :)
2. Eftersom global.asa körs varje gång applicationen startar/stängs av (i IIS:en) och varje gång en användare påbörjar/avslutar sitt besök på webbplatsen, så har den väl ganska mycket att göra med sessions, med inte på det sätt att de påverkas av den.
3. Nej, nej. Sessions används ganska friskt i vissa affärskritiska applikationer som ligger på publika servrar och om sessionerna skulle kunna utnyttjas från andra sajter, ja då hade det inte varit någon mening med säkerhet överhuvudtaget. ;) De sessions som du startar/avslutar/ändrar eller vad du vill, de gäller enbart de på din sajt och ingen annan. Global.asa har inte med detta att göra heller. Du kan vara lugn. Det är serverns uppgift at hålla reda på sånt där, och det brukar den göra fin-fint. :)
