webForumDet fria alternativet

global.asa?

ASP

8 svar · 298 visningar · startad av ampy

Medlem sedan feb. 20011 498 inlägg
Frågan#1

varför kan man inte skriva så här i global.asa?

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("community.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

<SCRIPT LANGUAGE="VBScript" RUNAT=Server>

Sub Application_OnStart

End Sub

Sub Session_OnStart

End Sub

Sub Session_OnEnd

Addera1 = "Select * From members WHERE id = '"&session("id")&"'"
RecSet.Open Addera1, Connect, 3, 3

RecSet("status") = "offline"
    
RecSet("chatonline") = Session("username")
RecSet("chatdatum") = Now
RecSet("chatorder") = "offline"
    
    
RecSet.Update

RecSet.Close

End Sub

</SCRIPT>

För när jag startar om IIS så är det inte offline i kolumnen status m.m
Är det osäkert att göra så här eller kan man lösa det på andra sätt.

Det jag vill göra är att om en person bara stänger ner fönstret eller lämnar sidan så ska kolumnen status uppdateras med offline.

Medlem sedan feb. 20011 498 inlägg
#2

Ingen som vet?

Medlem sedan dec. 19996 522 inlägg
#3

Ibland fungerar inte global.asa och session on end, ingen vekrar veta varför. Jag har varit med om att testa olika installationer av IIS och helt plötsligt har det fungerar efter ominstallation. Kan vara värt ett försök, prova å skriva något annat global.asan och se om den fungerar över huvudtaget, du har den i rooten etc

Medlem sedan feb. 20011 498 inlägg
#4

Den fungerar i vanliga fall och jag har självklart global.asa i rooten men finns det några andra sätt om det jag vill göra istället?

Medlem sedan juni 200032 967 inlägg
#5

Du får väl ha något i application_onstart som sätter alla användare till offline.

Medlem sedan feb. 20011 498 inlägg
#6

Varför ska jag ha i application_onstart, det är bara när en person lämnar sidan som jag vill sätta den till offline, inte när personen kommer till sidan.

Medlem sedan juni 200032 967 inlägg
#7

Det var jag som läste För när jag startar om IIS så är det inte offline i kolumnen status m.m och missförstod frågan antar jag.

För att svara på din fråga nu när jag läst igen: Hur ska IIS:en veta om användaren stängt sitt fönster eller surfat vidare?

Enda sättet jag kan se är att ha en onunload-eventhandler på sidan som öppnar ett litet stackars fönster med en logga-ut sida i när man går därifrån.

Mvh,

Medlem sedan feb. 20001 590 inlägg
#8

Du måste använda session_onstart OCH session_onend.

session_onend uppstår normalt efter 20 minuter dvs inte när besökaren stänger ner webbläsaren. Om du vill känna av detta omedelbart, så måste man be besökaren logga ut, eller kontrollera om besökaren är online.

/T

Medlem sedan mars 20002 836 inlägg
#9

Den här biten kod:

Set Connect = Server.CreateObject("ADODB.Connection") 
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("community.mdb")

Set RecSet = Server.CreateObject("ADODB.Recordset")

måste finnas i samma sub som den ska köras i .... inte utanför.

cya,
PatrikB

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