2 messaggi dal 12 aprile 2001
Ho un problema che non riesco a risolvere:

Ho creato una pagina ASP dove mi entra in LOOP per circa 60 secondi.
Questa pagina aspetta che un evento venga generato (cambio di una variabile in un dbase) per uscire poi in modo automatico.

Il problema si verifica quando l'utente vuole fermare il processo, o peggio ancora cambiare pagina all'interno del sito.

Come faccio a fermare il LOOP in esecuzione?

Premetto che non sono esperto in programmazione lato server/client.

Grazie.





Luciano T.

Luciano T.
puoi almeno provare ad utilizzare nel ciclo DO LOOP la funzione:

Response.IsClientConnected

E in caso negativo esci dal ciclo DO (vedi anche: http://support.microsoft.com/support/kb/articles/Q182/8/92.ASP )

Comunque non penso che sia un problema facilmente aggirabile. Cerca di abbassare il tempo di Timeout della sessione. Purtroppo uno dei grossi problemi dell'architettura client/server internet è questa...

Ciao

Andrea Palmatè
Web Developer

--
Andrea Palmatè
155 messaggi dal 13 febbraio 2001
soluzione:

do until rs.eof
If Qualcosa then exit do
rs.movenext
loop

Ciao
M@X

Non penso che così possa risolvere il problema. Il fatto è che se quel "qualcosa" non si verifica e l'utente chiude la pagina o la cambia il ciclo rimane lì fino a che non scade la sessione o il system administrator non ti cancella dal sito....

Ciao

Andrea Palmatè
Web Developer

Modificato - afxgroup on 13 Apr 2001 14:22:05

--
Andrea Palmatè
839 messaggi dal 13 febbraio 2001
Response.IsClientConnected è il metodo giusto. Solo che si attiva quando lo script tenta di inviare dei dati al client.
Quindi:
1. Almeno ogni tanto deve essere inviato qualche dato al client (magari per ogni record viene fatto un response.write)
2. Il buffering deve essere disattivato, altrimenti i dati vengono inviati al client alla fine dello script.
3. A causa della serializzazione delle pagine asp, per cui viene eseguita una pagina alla volta per sessione (e quindi richieste successive vengono messe in attesa fino a quando quelle precedenti non sono terminate, o naturalmente, o a causa del timeout dello script), se la pagina non usa variabili di sessione, usare la direttiva
@enablesessionstate=false
per disattivarle.
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.