7 messaggi dal 15 maggio 2001
Devo cancellare tutti i file all'interno di una directory all'avvio di un'applicazione, per questo ho specificato nel file global.asa l'avento application_OnStart come segue:

Sub Application_OnStart
Dim objFSO
Dim objFolder
Dim objFolderFiles
Dim objEachFile
Set objFSO = Server.CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.GetFolder(Server.MapPath("filetemporanei"))
Set objFolderFiles = objFolder.Files
For Each objEachFile In objFolderFiles
objFSO.DeleteFile(objEachFile)
Next
End Sub

Ho anche impostato il timeout di ogni session ad 1 minuto per fare in modo che l'applicazione "cada" spesso.

Il problema è che questa routine viene eseguita raramente, infatti anche se non mi collego all'applicazione per un giorno intero, essa non riconosce la richiesta come l'avvio di una nuova applicazione, come se essa non fosse mai caduta, altre volte nel giro di 10 min. me la esegue più volte.

Sul server sono presenti altre applicazioni asp, ma il file global.asa dovrebbe essere relativo solo all'applicazione presente nella dir.virtuale in cui viene definito, almeno spero...

Qualche consiglio???

un'applicazione ASP termina quando fai terminare fisicamente il server (lo spegni), quando riavvi il servizio web, quando si pianta da solo...

--
Ciao! .db

Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
La più grande community italiana di sviluppatori!

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
7 messaggi dal 15 maggio 2001
Ma un'applicazione non dovrebbe terminare quando decade l'ultima sessione?
Cioè l'evento application on_end non cioncide con l'ultimo evento Session_OnEnd?
Grazie

come fai a stabilire qual è l'ultima sessione?

dove hai letto 'sta cosa? (oppure t'è venuta in mente da solo?)

--
Ciao! .db

Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
La più grande community italiana di sviluppatori!

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
7 messaggi dal 15 maggio 2001
Se imposto il timeout di sessione a x minuti, x minuti dopo avere chiuso il browser avverrà (dovrebbe avvenire) l'evento Session_OnEnd, quando non ci sono + sessioni attive, in corrispondenza del decadimento dell'ultima sessione attiva dovrebbe avvenire l'evento Application_OnEnd.


il server web non ha nessuna cognizione di quando cominci la prima e di quando finisca l'ultima sessione.

ed è anche abbastanza normale che sia così, non c'è nessuno di modo di stabilire che quella sia l'ultima sessione, perchè nell'esatto momento in cui questa condizione si averasse, ce ne potrebbe essere una nuova.

insomma, il protocollo HTTP, che sta alla base del web, è stateless, senza stato, dunque questi ragionamenti vanno bene per applicazioni desktop o client/server tradizionali, non di certo per il mondo web.

--
Ciao! .db

Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>
La più grande community italiana di sviluppatori!

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
5 messaggi dal 06 settembre 2002
Collegandomi alla Vostra discussione è da dire che leggendo il libro "Active Server Pages" edito da Microsoft...parlando di IIS e Web Server,si fa riferimento al decadimento dell'applicazione in concomitanza del termine dell'ultima sessione...ovvero cio' che asserisce abele...il tutto farebbe pensare, vista la fonte, che si possa definire lato Web Server, quando inizi un'applicazioe - con lo start della prima Sessione - e quando finisca - con l'end del'ultima sessione ancora aperta - ...in sintesi il libro Microsoft dice il vero oppure no ?
839 messaggi dal 13 febbraio 2001
No, perchè se fosse così, su siti molto poco visitati l'applicazione terminerebbe e ripartirebbe spesso.



Ciao!
Paolo

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.