What is it and why you need the GlobalASA |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
A cura di Davide Bianchi |
Per la gestione e l'inizializzazione delle variabili di "sessione"
nelle applicazioni ASP si utilizza un file denominato "GLOBAL.ASA",
vediamo come si usa.
|
Cose' il "global.asa" ?
|
Molte volte nel corso dello sviluppo di una applicazione ASP, ci
troviamo nella condizione di dover passare molte informazioni
tra una pagina e l'altra, oppure di dover 'salvare' informazioni
che devono 'restare' per un certo numero di pagine. Sono i casi di: identificativi di utente, totali di acquisto (il famigerato 'carrello'), il fatto che l'utente ha visitato una certa pagina e cosi' via. Vi sono, ovviamente, vari modi per gestire queste informazioni ma il sistema piu' semplice e' quello di memorizzare le informazioni all'interno della memoria del Web Server. In questo modo e' possibile accedere a tali informazioni senza grossi problemi e in modo del tutto 'trasparente'. In ASP sono disponibili a questo scopo due vie:
Le variabili di Sessione sono mantenute nella memoria del Web Server, me per identificare il "gruppo" di variabili da usare per ogni utente si utilizza un Cookie che viene inviato al client. All'interno del cookie viene memorizzato l'identificativo di Sessione (SessionID). Questo significa in soldoni, che se l'utente ha i cookies disattivati sul browser, le variabili di Sessione non funzioneranno. Le variabili di Applicazione sono mantenute all'interno della memoria del Web Server senza nessun particolare accorgimento. In moltissimi casi le variabili di Applicazione o di Sessione devono essere 'inizializzate' con determinati valori nel momento in cui l'utente entra nel sito. A questo scopo e' necessario che il Web Server 'attivi' una procedura che consente di definire quali variabili e quali valori. La procedura che il Web Server attiva e' il Global.Asa. Questi e' un file, denominato (per l'appunto) global.asa, che si deve trovare nella directory principale del sito web (root) o nella directory virtuale che rappresenta la directory principale dell'applicazione. Se il global si trova in una directory diversa, non verra' gestito dal Web Server. In questo senso occorre fare un po' di attenzione: fino al IIS 4, tutte le directory al di sotto della root del sito erano considerate directory virtuali, quindi un global.asa posto all'interno di una di queste 'entrava in funzione' nel momento in cui l'utente entrava in tale directory, con IIS 5 le cose sono cambiate, le directory devono essere definite virtuali 'a mano', usando il Pannello di Controllo di IIS.
|
|
Cosa si mette nel "global.asa" ?
|
Il global.asa puo' contenere una serie di funzioni solitamente
quelle utilizzate sono quelle che vengono fatte partire
automaticamente dal Web Server quando l'utente accede al sito o
all'applicazione. Queste funzioni sono chiaamte:
In questo caso sono state definite due variabili di Sessione e due di Applicazione. La sintassi per definire le variabili di Applicazione e quelle di Sessione e' molto simile come si vede.
|
|
Se il global.asa non funziona ?
|
Ci possono essere vari motivi per cui il global.asa non viene
eseguito, i principali sono:
Se il codice ASP funziona e tutto il resto e' a posto, puo' darsi che il problema sia nel fatto che si stanno usando variabili di Sessione ma nel proprio browser si hanno disattivati i Cookies. Come gia' detto le variabili di sessione funzionano tramite i cookie, se questi sono disattivati tali variabili non funzionano.
|
Davide Bianchi, works as Unix/Linux administrator for an hosting provider in The Netherlands.
Do you want to contribute?
read how.
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.