webForumDet fria alternativet

2 global.asa

ASP

0 svar · 116 visningar · startad av mozilla

Medlem sedan juli 20011 084 inlägg
Frågan#1

Jo jag har två sidor som använder sig av min global.asa på två olika sätt... jag trodde jag kommer upp med en bra lösning med följande kod

<SCRIPT LANGUAGE=VBScript RUNAT=Server>
Sub Application_OnStart
Application.Lock
        Application("DBstr") = "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB;Data Source=" & Server.MapPath("/site2/db.mdb")
        Application("visitors") = "0"
Application.Unlock
End Sub

Sub Application_OnEnd

End Sub

Sub Session_OnStart
If (left(Request.ServerVariables("PATH_INFO"),7) = "/site2") Then
        Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.Open Application("DBstr")

        strSession = Session.SessionID

        SQL = "INSERT INTO kund (SessionsID, Summa) VALUES ('" & strSession & "', '0')"
        objConn.Execute(SQL)

        objConn.Close
        Set objConn = Nothing
ElseIf (left(Request.ServerVariables("PATH_INFO"),4) = "/site1") Then
        Application.Lock
        Application("visitors") = Application("visitors") +1
        Application.Unlock
End If
End Sub

Sub Session_OnEnd
If (left(Request.ServerVariables("PATH_INFO"),7) = "/site2") Then
        Set objConn = Server.CreateObject("ADODB.Connection")
        objConn.Open Application("DBstr")

        strSession = Session.SessionID

        SQL = "DELETE FROM kund WHERE SessionsID ='"& strSession &"'"
        objConn.Execute(SQL)

        SQL = "DELETE FROM vara WHERE SessionsID ='"& strSession &"'"
        objConn.Execute(SQL)

        objConn.Close
        Set objConn = Nothing
ElseIf (left(Request.ServerVariables("PATH_INFO"),4) = "/site1") Then
        Application.Lock
        Application("visitors") = Application("visitors") -1
        Application.Unlock
End If
End Sub
</SCRIPT>

Men nu efter har jag märkt en del fel som jag tror ha med den att göra.
1. Om man först går in i "/site1" och sedan går in på "/site2" så blir det fel efter som den körde ju global.asa'n när den kom till site1 och la då inte till någon tabell i databasen som site2 behöver? finns det något sätt att lösa detta?

2. Det andra är att jag tror inte att onEnd fungera riktigt på sida2... för som ni ser ska den visa antalet besökare men jag har nu 125 online och jag tror inte riktigt det... så det jag gissar på är att global.asa inte gör onEnd rätt? Någon som har någon teori?

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