ciao..

Ho un grosso problema con il global.asa

Mi spiegate perchè se nella root del mio sito inserisco il global.asa,
quando clicco sul pulsante preventivi -> invia preventivo (via e-mail).
Per inviarmi i dati ci mette molto tempo.

Invece se non lo proprio, l'invio del preventivo via e-mail è praticamente immediato?

Ho 2 domande da porvi:

- Errori di codice nel global.asa a prima vista non ci sono perchè altrimenti l'invio dei dati non avverrebbe e cmq mi darebbe un errore e allora perchè è così lento?

- Ma cosa centra il global.asa con la pagina *.asp che mi permette di inviare l'e-mail? Il global.asa lo utilizzo solo per aggiornare il *.db degli accessi al mio sito

Il sito è questo: http://www.3winformatica.it/
Grazie..?
Forse nel tuo codice ci sono variabili application legate al global.asa dove qualche pollo ci mette pure le connessioni al db, roba da pazzi....

"This message was written using 100% recycled electrons"
ciao e grazie di avermi risposto.
Questo è il codice della sesion onStart del global.asa

Sub Session_OnStart
'la sessione scade dopo 20 minuti di inattività
Session.TimeOut = 20

'add 1 to the users when someone enters for the first time
Application.Lock
Application("CurrentUsers") = Application("CurrentUsers") + 1
Application.Unlock


'#### START --- COUNTER **********
Dim DBName, objConn, objRS, strSQL, strSQL1, objRS1

'Setto i visitatori a 1 nel caso il DB sia vuoto
'(e quindi Primo accesso)
Application("vis_day") = 1
Application("vis_tot") = 1

'percorso e nome del DB
DBName = server.MapPath("/mdb-database/db_accessi.mdb")
'Response.Write DBName

'Create ADO connection
Set objConn = Server.CreateObject("ADODB.Connection")
'Open our user database with this string
'Access our database
objConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & DBName

'Recordset che va a cercare il record corrispondente al giorno
Set objRS = Server.CreateObject("ADODB.Recordset")'Creato un recordset

'strSQL = "SELECT * FROM tab_statistiche WHERE lastlogin='" & cstr(date()) & "' ORDER BY lastlogin;"
strSQL = "SELECT * FROM tab_statistiche ORDER BY lastlogin;"

'Debug
'Response.Write strSQL


objRS.Open strSQL, objConn, 3, 3

'Se il n° dei record è 0, non c'è nessun record
'quindi si tratta del primo visitatore in assoluto


If objRS.RecordCount = 0 Then

'Recordset che va a cercare il record corrispondente al giorno
Set objRS1 = Server.CreateObject("ADODB.Recordset")'Creato un recordset

strSQL1 = "INSERT INTO tab_statistiche (lastlogin, counter_day, counter_tot) VALUES (#" & date() &"#, " & cint(Application("vis_day")) & ", " & cint(Application("vis_tot")) & ");"

objRS1.open strSQL1, objConn, 3, 3

Set objRS1 = nothing


Else'se ci sono record

'muovo all'ultimo record
'anche se in teoria non ce ne sarebbe bisogno
objRS.MoveLast

'Application("vis_tot") assume il valore del totale dei visitatori + 1
Application("vis_tot") = cint(objRS.Fields("counter_tot")) + 1

'Se esiste già il record del giorno allora
'If cstr(objRS.Fields("lastlogin")) = cstr(date()) then
If objRS.Fields("lastlogin") = date() then

'Application("vis_tot") assume il valore del totale dei visitatori + 1
Application("vis_tot") = cint(objRS.Fields("counter_tot")) + 1
'Application("vis_day") assume il valore del totale dei visitatori di oggi + 1
Application("vis_day") = cint(objRS.Fields("counter_day")) + 1


Set objRS1 = Server.CreateObject("ADODB.Recordset")'Creato un recordset

strSQL1 = "UPDATE tab_statistiche SET counter_day = " & cint(Application("vis_day")) & ", counter_tot = " & cint(Application("vis_tot")) & " WHERE lastlogin = #" & date() & "#;"

objRS1.Open strSQL1, objConn, 3, 3
Set objRS1 = nothing


'objRS1.open strSQL, objConn, 3, 3
'objRS1.close
'Set objRS1 = nothing


Else

Set objRS1 = Server.CreateObject("ADODB.Recordset")'Creato un recordset

strSQL1 = "INSERT INTO tab_statistiche (lastlogin, counter_day, counter_tot) VALUES (#" & date() &"#, " & cint(1) & ", " & cint(Application("vis_tot")) & ");"
objRS1.open strSQL1, objConn, 3, 3
Set objRS1 = nothing

End If

'update dei valoti inseriti
'objRS.update

End If

'***** INIZIO Chiudo il recordset e la connessione ***********
objRS.close 'chiudo l'oggetto recordset *
set objRS = nothing 'Uccido l'oggetto recordset *
objConn.close 'chiudo la connessione al DB *
set objConn = nothing 'Uccido la connessione al DB *
'***** FINE Chiudo il recordset e la connessione *************

'#### END --- COUNTER **********



End Sub

In che senso "ci mette pure le connessioni al db"?
Devo mettere perforza la connessione al db altrimenti come faccio ad aggiornare gli accessi?

Grazie..?
Modificato da enigma il 21 gennaio 2005 09.36 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.