Avatar billede tinem Novice
03. maj 2005 - 14:16 Der er 6 kommentarer og
1 løsning

global.asa - Timeout - Session - hjælp

Jeg sendte nedenstående til Azero hvor jeg har mit webhotel.
-----------
Jeg er ved at sætte dette script op http://www.ocean12scripts.com/products/mailinglist/ her på min side http://www.tinemuller.dk/mailinglist/, men oplever HELE TIDEN er jeg skal logge ind igen, og når jeg prøver at skrive en HTML-meddelelse, opdager jeg at jeg er timeout'et og så skal jeg skrive det hele igen.

Kan I hjælpe mig med hvad jeg skal rette i? Jeg har opsat denne script med JMail hos jer.

Når jeg søger i ALLE filerne finder jeg kun 2 og i disse står bl.a.

Server.ScriptTimeout = 1000000

Er det denne kode jeg skal ændre på eller er det noget hos JER?
--------------

"Vi" er nu nået frem til at det sikkert er p.gra. af "noget" som jeg har stående i en global.asa fil, hvori jeg har indsat nogle koder for at få et Snitz forum og ConquerChat til at fungere og disse har virket et par år.

----- global.asa -----
<OBJECT
    RUNAT="Server"
    SCOPE="Application"
    ID="conquerChatUsers"
    PROGID="Scripting.Dictionary">
</OBJECT>

<OBJECT
    RUNAT="Server"
    SCOPE="Application"
    ID="conquerChatRooms"
    PROGID="Scripting.Dictionary">
</OBJECT>

<OBJECT
    RUNAT="Server"
    SCOPE="Application"
    ID="conquerChatMessages"
    PROGID="Scripting.Dictionary">
</OBJECT>

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">

Sub Application_OnStart
Application("ActiveUsers") = 0
Application("HighestToDate") = 0
Application("TodaysDate") = Date
Application("VisitorsToday") = 0
End Sub

Sub Session_OnStart
Session.Timeout = 1 '## minutes
Session("Start") = Now

Application.Lock

Application("ActiveUsers") = Application("ActiveUsers") + 1

if Application("ActiveUsers") > Application("HighestToDate") then
Application("HighestToDate") = Application("HighestToDate") + 1
end if
if Application("TodaysDate") = Date then
Application("VisitorsToday") = Application("VisitorsToday") + 1
else
Application("TodaysDate") = Date
Application("VisitorsToday") = 1
end if

Application.UnLock
End Sub

Sub Session_OnEnd
' Decrease the active visitors count when the session ends.
Application.Lock
Application("ActiveUsers") = Application("ActiveUsers") - 1
Application.UnLock
End Sub

</SCRIPT>

----- global.asa -----
De henviser nemlig til disse links
http://tinemuller.dk/serverinfo/info/
http://emma.andersenit.dk/serverinfo/info/

som jo viser at på mit domæne vises
Timeout 90 sekunder (Script)
1 minutter (Session)

Og på serveren "emma" hos Azero vises
Timeout 90 sekunder (Script)
20 minutter (Session)

De vil ikke hjælpe mig videre og sagde at jeg skulle stille spørgsmålet her:
SÅ - HVAD KAN JEG GØRE NU?

/Tine
Avatar billede luzk Nybegynder
03. maj 2005 - 16:28 #1
Er du sikker på det ikke er in "Session.Timeout = 1 '## minutes" der gør det? Den definerer jo en session til kun at måtte vare et minut. Hvis det tager længere tid at skrive dit indlæg end et minut bliver du timet ud...

Prøv at ændre den til 20

/Luzk
Avatar billede luzk Nybegynder
03. maj 2005 - 16:29 #2
det jeg mener er:
Session.Timeout = 20 '## minutes

/Luzk
Avatar billede tinem Novice
03. maj 2005 - 16:52 #3
Jeg tror at det er det som gør det, men jeg har ikke turdet ændre i denne global.asa da den fulgte med til mit "Snitz forum", og jeg er bange for at det måske vil påvirke dette script. Men det gør måske ikke noget at ændre denne? Udover at mit NYE script måske virker bedre.:-)
Jeg forstår ikke rigtig det her med global.asa og får måske senere igen problemer med et script. Så er der et sted som forklarer denne fil, sådan at nybegyndere også kan forstå det?

/Tine
Avatar billede luzk Nybegynder
03. maj 2005 - 17:02 #4
Der er ikke noget at sige til at global.asa ikke lige er den man helst vil lege med hvis ikke man ved hvad der sker, for det _kan_gå galt - men lemt er det oftest ikke :-)

Jeg har ikke lige nogen links, men mon ikke en google søgning kan give noget værdifuldt?

Hvis jeg selv skal komme med et forsøg på en forklaring må det blive:

Kort fortalt er global.asa en fil der bliver kaldt når dit site starter/stopper og når en session starter/stopper

Jeg plejer at give følgende forklaring:
Applikation_OnStart bliver ganske rigtigt kørt hver gang applikationen starter, men det kan ske flere gange end når global.asa bliver lagt ud. Det sker fx også efter genstart af IIS eller genstart af serveren.

Applikation_OnEnd bliver kørt når IIS genstartes, eller når server genstartes - dog ikke altid, for hvis servicen ryger sig en tur kan man ikke sikre sig den er blevet kørt.
Desuden køres denne når sidste session timer ud på en given applikation. Dvs en applikation kun lever så længe der er brugere tilknyttet. Jeg har fået fortalt dette kan sættes op, men har ikke set det udført.

Session_OnStart bliver kørt hver gang en unik bruger åbner sitet. En bruger der bruger to browsere vil tælle for en unik bruger pr browser!
Hvis du lukker din browser ned og starter den op igen tæller det som endnu en unik bruger.

Session_OnEnd køres når en session timer ud - altså ikke når sitet forlades, men typisk efter de 20 min der er standard for en session.

(er taget fra min kommentar i http://www.eksperten.dk/spm/611804)

din global.asa indeholder blal:

Application variable (fx Application("ActiveUsers"))
Det er globale variable der er fælles for alle brugere, og som alle kan se når du skriver dem ud til dem.

Derudover indeholder den Sessions variable (fx Session("Start"))
Det er variable der vil være forskellige for hver session (bruger)

Session.Timeout betyder hvor længe en bruger kan være på sitet uden at blive "glemt" igen.
Session.ScriptTimeout definerer hvor længe et script må køre på serveren - pas på med den!

/Luzk
Avatar billede luzk Nybegynder
03. maj 2005 - 17:07 #5
Kom til at tænke på jeg havde et link fra Microsoft der beskriver global.asa - det er på engelsk, men temmelig detaljeret:
http://www.microsoft.com/windows2000/en/server/iis/default.asp?url=/windows2000/en/server/iis/htm/asp/glob63vp.htm

/Luzk
Avatar billede tinem Novice
04. maj 2005 - 18:11 #6
Det er lidt langhåret for mig, men jeg ændrede i min global.asa til
Session.Timeout = 30 '## minutes
og nu virker alle mine scripts. Så tak for hjælpen.

Skriv lige et svar, så du kan få point. :-)
Avatar billede luzk Nybegynder
04. maj 2005 - 19:10 #7
Jamen glad for det virkede :-)
Hermed et styk svar - men du må meget gerne sætte point ned, for 200 er for meget for sådan et spg :-) vil regne med at mellem 30 og 60 er mere på niveau.

/Luzk
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester