Hej alla glada! Du kan använda global.asa. Visserligen säger några att dom inte alltid får Session_OnEnd att fungera ordentligt men jag har aldrig haft problem med detta. Tack för ditt svar Jan! Eventet Session_OnStart inträffar när klienten ansluter till servern för första gången. Därför kan du inte använda dig av Session("username") efter som den sätts först när användaren logat in. Du bör därför sätta online = True när man loggar in. Hej... Så här funkar global.asa Nä...alltså session_onEnd verkar aldrig anropas....sessionen dödas däremot (har kontrollerat) Felet i scriptet är att Session_OnEnd inte hittar rätt session...nån har lösning till hur man hittar rätt session?? Själv anger jag alltid en tillbaka-referens till Sessions med hjälp av Session.SessionID när jag vill jobba mot global.asa. Ett tillägg i denna gamla tråd:global.asa
Mitt problem är att jag vill ändra ett värde för ett attribut i min db-tabell när en session startas respektive avslutas. Såvitt jag förstår är den enda utvägen att använda sig av global.asa eller? Är jag rätt ute och i så fall, hur bär man sig åt? Anropas global.asa automatiskt när en session startas samt avslutas?
Skulle bli evigt tacksam om nån vänlig själ kunde hjälpa mig....Sv: global.asa
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
' Här lägger du kod som ska hända när en besökare kommer till din site.
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnEnd
'Här lägger du kod som ska hända när en besökare lämna site eller
'rättare sagt 20minuter (default) efter att besökaren har varit aktiv
'på din site.
END SUB
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnStart
'Här lägger du kod som återställer hela tabellen ifall servern tas ner
'okontrollerat, dvs bara stänger av den. Då hinner inte servern med att
'köra session_OnEnd
END SUB
</SCRIPT>
Får du det att fungera?
/JanneSv: global.asa
Jag får det inte att fungera....:( Min global.asa fil (som finns sparat i "roten") verkar aldrig anropas eller vad man nu ska säga. Måste man ange sökvägen till global.asa på något sätt??
(Jag använder mig inte av någon cookie, utan när en "medlem" loggar in så skapar jag en session("username"). )
Så här ser min global.asa ut:
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnStart
Session.TimeOut = 10
dim objConnection, onlineSQL
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=HÄR HAR JAG ANGETT DEN "FYSISKA" ADRESSEN TILL DATABASEN"
objConnection.Open
onlineSQL="UPDATE tblMember SET online=True WHERE username='" & Session("username") & "';"
objConnection.Execute(onlineSQL)
objConnection.close
End Sub
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Session_OnEnd
dim objConnection, offlineSQL
Set objConnection = Server.CreateObject("ADODB.Connection")
objConnection.ConnectionString="DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=HÄR HAR JAG ANGETT DEN "FYSISKA" ADRESSEN TILL DATABASEN"
objConnection.Open
offlineSQL="UPDATE tblMember SET online=False WHERE username='" & Session("username") & "';"
objConnection.Execute(offlineSQL)
objConnection.close
END SUB
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnStart
'Här lägger har jag inte lagt in nån kod alls
END SUB
</SCRIPT>
<SCRIPT LANGUAGE=VBScript RUNAT=Server>
SUB Application_OnEnd
'Här lägger har jag inte lagt in nån kod alls
END SUB
</SCRIPT>
Vet inte om man kan skapa en anslutning till databasen på detta sätt...
Mvh
FarreSv: global.asa
Sv: global.asa
Jag vet inte om jag är ute och cyklar nu men...
Jag har märkt att om man inte skapar en virtuell katalog genom Internettjänsthanteraren så funkar inte global.asa som den skall.
Är det fler som har den erfarenheten?
Vad är det egentligen för skillnad att skapa Webdelningen via ett högerklick på mappen och guiden i IIS?Sv: global.asa
Sub Application_OnStart
'## -- här ska kod ligga som ska köras när siten startas, tex vid en omstart av burken --
End Sub
Sub Session_OnStart
'## -- här ska kod ligga som ska köras när en besökare kommer till siten.
'## -- Denna kod körs vare sig besökaren loggar in eller inte, dvs, så fort en ny besökare kommer körs denna kod --
End Sub
Sub Session_OnEnd
'## -- här ska kod ligga som ska köras när besökaren "lämnar" siten, dvs, när en session timar ut eller om Session.Abandon körs --
End Sub
Sub Application_OnEnd
'## -- här ska kod ligga som ska köras när siten stänger ned, dvs, tex när man startar om maskinen och vill spara en del uppgifter innan --
End Sub
cya,
PatrikBSv: global.asa
Nån som vet vad det beror på eller har ngn lösning???
Vore tacksam för all hjälp jag kan få!
Mvh
FarreSv: global.asa
Sv: global.asa
Dvs, du bör alltså "spara" Session.SessionID i databasen med Användarnamnet, sedan verifierar du alltid mot Session.SessionID OCH INTE Session("username") eller vad man nu har.
cya,
PatrikBSv: global.asa
Har upptäckt att för de som har strul med att få Sub Session_OnEnd att köras har inte lagt subbarna i global.asa i "rätt" ordning, dvs i den ordning som de körs.
Rätt global.asa:
Så här funkar global.asa
Sub Application_OnStart
'## -- här ska kod ligga som ska köras när siten startas, tex vid en omstart av burken --
End Sub
Sub Session_OnStart
'## -- här ska kod ligga som ska köras när en besökare kommer till siten.
'## -- Denna kod körs vare sig besökaren loggar in eller inte, dvs, så fort en ny besökare kommer körs denna kod --
End Sub
Sub Session_OnEnd
'## -- här ska kod ligga som ska köras när besökaren "lämnar" siten, dvs, när en session timar ut eller om Session.Abandon körs --
End Sub
Sub Application_OnEnd
'## -- här ska kod ligga som ska köras när siten stänger ned, dvs, tex när man startar om maskinen och vill spara en del uppgifter innan --
End Sub
Hjälpte en kille med ett problem som behövde köra Sub Session_OnEnd och tipsade om att det ser bättre ut att ha dem i ordning och VIPS!!! så funkade hans Session_OnEnd
Kanske inte är hela sanningen, men har själv ALDRIG haft problem att få global.asa att funka med Sub Session_OnEnd och har iof alltid lagt dessa subbar i rätt ordning *ler*
cya,
PatrikB