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å?
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...
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.
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
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.
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?
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