19 messaggi dal 08 maggio 2002
Salute!
Ho riscontrato che un sacco di gente ha trovato non pochi problemi con l'evento Sub Session_OnEnd nel global.asa che viene eseguito solo allo scadere dei min. settati in un Session.Timeout=xx o i soliti 20 di default .. (tanto per svelare l'arcano a chi stesse spulciando questo forum ..  )

..E della Sub Application_OnEnd, ne vogliamo parlare?
maimaimaimai? ..o solo quando..?

Affascinato anch'io da questo nuovo modo di 'costruire' pagine, reduce da anni di BBSing gia' dai modem a 1200baud, mi sono voluto cimentare creandomi un sito sulla base architettonica dei vari soft BBS che in passato ho avuto modo di provare..

Ho quindi voluto anch'io affrontare lo sfizioso problema di creare un contatore che non solo contasse, ma che mi dicesse alias e attivita' corrente degli utenti connessi.. Ho implementato quindi una Chat fatta da me ed uno sfizioso servizio di Inter-MSG (l'ho chiamato cosi') per mandarsi messaggi tra sessione e sessione che PopUpuppano al destinatario ..anche questo mio.
 Sono stato bravo?  Per essere la mia prima esperienza di coding vado assai spedito.. ahah..
Sono conscio che posso aver adottato una discutibile soluzione e ogni soluzione 'analitica' e' welcome: sono qui per questo..

Dunque, ora a noi:
Ho risolto il tutto con un refresh automatizzato di frame nascosto a cui passo la gestione di tutte (troppe) variabili session e application. Questo frame e' refreshato ogni 3 secondi quando l'utente e' in chat sino ad una volta ogni minuto se sta trasferendo files o legge news..etc.
Il mio problema e' che Application.LOCK e UNLOCK quindi viene usato troppo frequentemente. Mi basterebbe sapere come e/o se si puo' imporre di attendere l'Application.unlock dalla sessione che ha bloccato con lock..
Grazie della pazienza, ma sta cosa ...uuuuh! come me pija

lock ed unlock di application servono a bloccare la modifica di var application, non esiste un metodo per sapere a che punto sono, è tutto automatizzato...

<hr color="#31659C" noshade size=1>
Daniele Bochicchio
<b>Content manager di http://www.aspitalia.com</b>

ASP 3 per esempi il mio libro

Daniele Bochicchio | ASPItalia.com | Libri
Chief Operating Officer@iCubed
Microsoft Regional Director & MVP
19 messaggi dal 08 maggio 2002
<b>Daniele Bochicchio ha scritto:</b>
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote><hr height=1 noshade id=quote>
lock ed unlock di application servono a bloccare la modifica di var application, non esiste un metodo per sapere a che punto sono, è tutto automatizzato...
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>
Hola  !!
non era questo il mio dilemma, ma vediamo.. :

Come si comporta ASP incontrando un Application.Lock quando e' gia' in corso un 'lock' su una diversa sessione? Attende l'unlock della sessione che ha chiuso le application, o tira di lungo sperando che nessuno se ne accorga? .. non vorrei venir lapidato o bastonato per questo, ma a me pare tiri di lungo.. magari non come un default, ma inspiegabilmente talvolta sembra salti completamente quello che gli scrivo di fare.. quasi come mia moglie

Dubitabondo Syd.

101 messaggi dal 05 luglio 2001

Application.Lock significa che nessuna variabile a livello "Application" può essere acceduta fino a che non viene richiamata la funzione Application.Unlock. Tutte le richieste di accesso a variabili Application vengono accodate quindi è bene che le istruzioni tra Application.Lock e Application.Unlock non richiedano un lungo tempo di esecuzione (per es.:accesso a database)

19 messaggi dal 08 maggio 2002
<b>pierfe ha scritto:</b>
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote><hr height=1 noshade id=quote>
Tutte le richieste di accesso a variabili Application vengono accodate quindi è bene che le istruzioni tra Application.Lock e Application.Unlock non richiedano un lungo tempo di esecuzione <hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>
Si grazie, a questo c'ero arrivato.. Pero' sembra che alcune volte invece di accodare le richieste, le ignori .. ossia pare esegua il codice ma non aggiorni le application chiaramente perche ancora chiuse dall'altra sessione..
E' mai possibile? Immaginando un
&lt;% Application.Lock
Do While 1=1
loop
Application.unlock (inutile .. )
eseguito da una sessione, le altre, incontrando un ulteriore Application.Lock non si dovrebbero inchiodare, o accodare (per usare la tua corretta espressione), aspettando l'uscita dall'isulso loop da parte della sessione che per prima ha chiamato il Lock?

Oddio.. questo insulso esempio non l'ho fisicamente provato, ma dovessi rispondere per esperienza piuttosto che per teoria, direi che le altre sessioni non si fermerebbero.. tirerebbero di lungo senza pero' aggiornare le application perche chiuse dallo stupido loop .. Uaaaah vuoi vedere che e' proprio cosi' ..

Illuminatemi ...
Syd.

101 messaggi dal 05 luglio 2001

Se fosse realmente come dici credo che ci sarebbe un bel po' di gente in giro con dei seri problemi...Eh,eh, eh

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.