webForumDet fria alternativet

global.asa

ASPur ASP

14 svar · 283 visningar · startad av Gein

Medlem sedan sep. 20005 700 inlägg
Frågan#1

jag undrar ifall det är nåt speciellt man bör tänka på med global.asa filen..
jag försöker köra Session_OnStart samt OnEnd men har inte fått det att funka så bra. OnStart har jag däremot fått att funka en gång.. OnEnd har jag däremot aldrig fått att funka. så här ser min global.asa ut, just nu:
------------
<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnStart

Session.Timeout = 5

End Sub

Sub Session_OnEnd

Set fso = CreateObject("scripting.filesystemobject")
Set file = obj.CreateTextFile(Server.MapPath("test.txt"))
file.close

End Sub
</SCRIPT>
----------

------------------
"When there's no more room in hell,
the dead will walk the earth."

Medlem sedan dec. 19998 577 inlägg
#2

Hur testade du repektive subbar?

------------------
Kom hem till mig...

Medlem sedan sep. 20005 700 inlägg
#3

jadu.. här testade jag ju att skapa en txt fil.. men det kanske var fel kod eller nåt jag skrev ..

egentligen så vill jag ju att när onEnd körs så ska den öppna en databas o registrera denne användare som 'offline'

------------------
"When there's no more room in hell,
the dead will walk the earth."

Medlem sedan dec. 19992 085 inlägg
#4

Jag har försökt med samma sak.. jag har skrivit så här:

<OBJECT RUNAT=Server SCOPE=Session ID=MyInfo PROGID="MSWC.MyInfo">
<!--#INCLUDE FILE="peach/config.inc"-->
Sub Session_OnEnd

Set MinCon = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MinCon.Open ConString
SQL = "UPDATE medlem SET status = 'Offline' WHERE anvandarnamn = '" & Session("anvandarnamn") & "'"
rs.Open SQL, MinCon, 1, 2
Session("level")=0
Session("anvandarnamn")=""
Session("losenord")=""
Session("connected")=0
Session("visits")=0
Session("lastvisit")=""

End Sub
</OBJECT>

men jag får inte det att funka heller :(

//M@rtin

Medlem sedan dec. 19998 577 inlägg
#5

puzze, problemet i din kod är att du använder fel objekt för att skapa filen, testa såhär istället:

Set fso = CreateObject("scripting.filesystemobject")
Set file = fso.CreateTextFile(Server.MapPath("test.txt"))
file.close

------------------
Kom hem till mig...

Medlem sedan aug. 2000106 inlägg
#6

Har du testat ditt skript annat än under PWS? Jag har inte fått global.asa-filen att funka lokalt, även om den funkar på servern.

Lycka till. Meddela resultaten.

------------------
---
/M.

Medlem sedan sep. 20005 700 inlägg
#7

jag har fått den att funka nu, tror jag.. men är det så att man inte kan öppna databaser i global.asa?
för det verkar inte funka, däremot så funkar ju Session.abandon.

Nån som vet ett bra sett som man kan öppna o uppdatera en databas när någon avslutar sin Session.. ?

------------------
"When there's no more room in hell,
the dead will walk the earth."

Medlem sedan dec. 19998 577 inlägg
#8

Du gör bara som vanligt... bara det att sidan kör vid förutbestämmda 'händelser'... Visa koden på din databasöppning, så skall vi kolla på den... :)

------------------
Kom hem till mig...

Medlem sedan sep. 20009 inlägg
#9

Ursäkta en dum fråga men vad har global.asa för funktion?

------------------
Eklof

Medlem sedan dec. 19998 577 inlägg
#10

Filen global.asa anropas vid vissa händelser på servern... När t.ex en ny användare ansluter sig till din webbplats så anropar servern sub session_onend i filen. Där kan du lägga in kod som du vill skall köras vid detta tillfälle... sedan finns det en del andra subbar också...

Läs mer om global.asa här

------------------
Kom hem till mig...

[Redigerat av Vide den 20 sep 2000]

Medlem sedan juni 200032 967 inlägg
#11

vide: är du säker på att du verkligen menar onend? jag skulle vilja säga onstart. eller är det jag som sovit taskigt?

------------------
<A HREF="http://www.cartman.nu" TARGET=_blank>
det man inte minns har inte hänt.
hit med en berka!</A>

Medlem sedan dec. 19998 577 inlägg
#12

Helt riktigt... :r Det var min katt som tog mitt sovskift inatt :e

Självklart skall det vara onstart...

------------------
Kom hem till mig...

Medlem sedan sep. 20005 700 inlägg
#13

så här står det t.ex:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>

Sub Session_OnEnd

datum = Date()
Set onlinet = Server.CreateObject("ADODB.Connection")
onlinet.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("data/users.mdb"))
SQL = "UPDATE users Set online = '" & datum & "' Where ID = " & session("id") & ""
onlinet.execute(SQL)
onlinet.Close

End Sub
</SCRIPT>

om jag inte minns helt fel, så händer det ingenting när man t.ex stänger fönstret.. detta borde köras men det verkar inte som den gör det..

------------------
"When there's no more room in hell,
the dead will walk the earth."

Medlem sedan mars 20002 836 inlägg
#14

Hello,

... och när tar sessionen slut???

Du har ställt timeouten till 5 minuter så det kommer ta fem minuter innan det körs

cya,
PatrikB

------------------
=================================
** ZWGdesign **
=================================

[Redigerat av PatrikB den 05 okt 2000]

Medlem sedan sep. 20005 700 inlägg
#15

vadå 5 minuter innan den körs? jag fattar det som att det tar 5 minuter innan den stänger session vid inaktivt surfande.. asså om man inte gör något på 5 minuter.. men men, det är inte det som är viktigt.. det viktiga är varför min Session_OnEnd inte vill funka!? är det så att man inte kan tillkalla Session("id") i OnEnd subben.. och att man inte kan skriva till en databas i OnEnd..?

------------------
"When there's no more room in hell,
the dead will walk the earth."

129 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)