webForumDet fria alternativet

IIS, updatera (som global.asa)

ASP

8 svar · 414 visningar · startad av Brimba

Medlem sedan dec. 19995 874 inlägg
Frågan#1

Hej!

Jag har använt global.asa med PWS, men vad jag förstår används inte den med IIS.
För jag har kört kommandom som deletar poster som varit temporära för användaren, det har jag gjort genom att skriva tex:

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Session_OnEnd

On Error Resume Next
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Session("shopdata")
SQLStmt = "DELETE FROM tabInternetKorg Where AnvId =" & Session.SessionId & " AND Spara <> 1"
Connection.Execute(SQLStmt)
Connection.Close

End Sub
</SCRIPT>

Sen har jag även använt mig av följande!
Det för att ta bort alla temporära poster, eftersom när servern tas ner så finns det ju ändå ingen användare online, så lika bra att ta bort alla :)

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnEnd

On Error Resume Next
Set Connection = Server.CreateObject("ADODB.Connection")
Connection.Open Session("shopdata")
SQLStmt = "DELETE FROM tabInternetKorg Where Spara <> 1"
Connection.Execute(SQLStmt)
Connection.Close

End Sub
</SCRIPT>

Finns det något sätt man kan lägga till detta i IIS så att den tar bort de temporära posterna när ett speciellt Session.ID lämnar sidan eller så?

Mvh
Patrik
aka Brimba

Medlem sedan dec. 19998 577 inlägg
#2

>men vad jag förstår används inte den med IIS.

Global.asa används i IIS...men det är inte alltid den är satt att köras i just den katalogen...om det är nån annans server så kolla upp om den körs i just den katalogen...

------------------
MVH / Vide
henslow.4sale.se/vide

Medlem sedan dec. 19995 874 inlägg
#3

Det är min server :)

Men jag har väl inte ställt in det i IIS antar jag då. Har precis börjat med IIS har bara kört PWS innan.

Ok tack!

Mvh
Patrik
aka Brimba

Medlem sedan dec. 1999707 inlägg
#4

Jag har bestämt för mig att du inte kan använda dig av session-objektet vid session_onEND i global.asa eftersom den då är avslutad.

------------------
/ Torbjörn Hansson

Medlem sedan dec. 1999707 inlägg
#5

Det verkar som om jag hade fel: session-egenskaper kan man använda sig av i session_OnEnd i global.asa.

Men vad jag ser i din kod är att du använder en session-variabel i Application_OnEnd och det går ju då rakt inte eftersom eventen inte ligger på användarnivå.

Jag också kommit fram till att det troligtvis är som du säger, att global.asa inte fungerar i PWS.
Jag använder själv PWS hemma men har inte använt mig av den innan.

"Übung machts den meister.."

------------------
/ Torbjörn Hansson

Medlem sedan dec. 19995 874 inlägg
#6

Hej!

Du har missupfattat mig på en punkt.

jag har kört med den global.asa filen i PWS och det har fungerat perfekt, men när jag bytte till IIS för att få ut den skaprt så kör den inte den filen.

Jag har inte riktigt kommit på hur jag skall göra för att få global.asa att fungera, jag har försökt att lägga in kataloger i systemet som det stod på microsofts hemsida, men lyckades endå inte.
Kan nån posta en kod som genererar en txt fil så att jag kan se praktiskt om det verkligen fungerar.
Sen får du Thoa gärna förklara hur jag får global.asa att fungera i IIS.
Var jag lägger den och hur jag konfigurerar den m.m

Mvh
Patrik
aka Brimba

Medlem sedan dec. 1999707 inlägg
#7

Ojsan, då missuppfattade jag dig. Jag lyckades inte få min global.asa-fil att fungera som jag ville igår, men sen kom jag ju på att jag använder mig av den i andra applikationer där det fungerar alldeles utmärkt. Ännu en miss av mig...

Det jag har lärt mig är att för att global.asa-filen skall fungera så måste den ligga i rooten på den virtuella katalog som du använder dig av.

En global.asa fil innehåller fyra rutiner som körs vid vissa händelser (eventer). De är:

Application_OnStart
När den första användaren accessar en fil i applikationen.

Application_OnEnd
När man stänger av applikationer.

Session_OnStart
När en användare anropar en fil första gången.

Session_OnEnd
När sessionen når en "timeout" eller om sessionen överges ("abandon").

Application-eventerna inträffar alltså bara när man startar och stänger applikationen medan Session_OnStart-eventen "triggas" varje gång en ny användare anropar en fil. Betydligt oftare mao.

------------------
/ Torbjörn Hansson

Medlem sedan dec. 19995 874 inlägg
#8

Hej!

Jag kör två siter på samma IP, och delar upp dom genom att känna av vilket http_header dom har skrivit in. Så iaf därför har jag ju två siter, skall jag lägga den i rooten av de båda eller skall jag lägga en global.asa fil i varje site?

Mvh
Patrik
aka Brimba

Medlem sedan dec. 1999707 inlägg
#9

Det enklaste är väl om du skapar en virtuell katalog för var och en av de bägge webbplatserna på din dator och lägger en
global.asa-fil på rooten av varje katalog. På så sätt så blandar man inte ihop de.

------------------
/ Torbjörn Hansson

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