Cuore Batti Cuore - Loris Reinhard - Radio Genius - Alex Damiani e-Thomas.net Network:
 
Il tuo IP: 38.103.63.60
 

Altro
Scarica

 

Sei in: Per i Webmaster - Corso di ASP - Oggetto Application

Per capire cosa sia l'oggetto Application e cosa può fare, dobbiamo ricordare che un'applicazione è definita da tutti i file contenuti in una directory virtuale che è stata esplicitamente configurata per essere la radice (root) dell'applicazione e di tutte le sue subdirectory. Con questo oggetto possiamo:

  • essere avvisati quando un'applicazione inizia, così che possiamo effettuare delle operazioni in fase di startup
  • essere avvisati quando un'applicazione si sta fermando, così che possiamo effettuare delle operazioni per chiudere l'applicazione stessa in modo corretto
  • immagazzinare informazioni che possono essere utilizzate da tutti i client che accedono all'applicazione

C'è una singola istanza dell'oggetto Application per ogni applicazione che gira sul server ma potrebbero esserci più client che stanno accedendo alla stessa applicazione. Questo oggetto immagazzina variabili e/o oggetti che possono essere utilizzati da ogni pagina ASP che è parte dell'applicazione. Il diagramma che segue ci mostra la relazione tra applicazioni, oggetti Application e oggetti Session.

Per inizializzare delle variabili in un oggetto Application, immagazziniamo le informazioni necessarie in uno speciale file ASP che si chiama global.asa. Vediamo un primo esempio di file global.asa:

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
    Application("myAppVariable") = " "
    Application("anotherAppVariable") = 0
End Sub
</SCRIPT>

In questo pezzo di codice abbiamo utilizzato un evento (di 4 disponibili) e cioè Application_OnStart. Questo evento si eseguirà solo una volta nel momento in cui un primo utente si connetterà ad una pagina che fa parte dell'applicazione. L'evento Application_OnStart viene eseguito prima che una prima sessione sia creata, cioè prima dell'evento Session_OnStart. Quello che accade, in pratica, è che vengono inizializzate due variabili, una come stringa vuota e l'altra con valore 0, che possono poi essere utilizzate all'interno di una normale pagina ASP nel modo che segue:

<%
    Application.Lock
        Application("myAppVariable") = Now
        Application("anotherAppVariable) = Application("anotherAppVariable) + 1
    Application.Unlock
    Response.Write Application("myAppVariable") & "<br>"
    Response.Write Application("anotherAppVariable")
%>

Per leggere tutte le variabili con validità a livello di applicazione che abbiamo inizializzato, possiamo sfruttare la Contents Collection dell'oggetto Application nel modo che segue:

<%
Dim Key
For Each Key In Application.Contents
    Response.Write (Key & " vale " & Application(Key))
Next
%>

Metodi dell'oggetto Application
L'oggetto Application ha due metodi (più altri due tramite la Contents Collection): Lock e Unlock. Il metodo Lock serve per bloccare l'applicazione in modo che le variabili memorizzate nell'oggetto Application non possano essere modificate se non da un client alla volta, come nell'esempio precedente. Questo serve per fare in modo che i dati non vengano corrotti per una eventuale simultaneità di operazioni sui dati stessi. Il metodo Unlock sblocca le variabili dell'oggetto Application preventivamente bloccate col metodo Lock. Una novità dell'ASP 3.0 sono i due metodi Remove e RemoveAll accessibili tramite la Contents Collection che servono per rimuovere un elemento dalla collection o tutti gli elementi in un colpo solo. Vediamo un esempio:

  1. Application("PrimaVariabile") = "Gatti"
  2. Application("SecondaVariabile") = "Cani"
  3. Application.Contents.Remove("PrimaVariabile")

Il file Global.asa
Abbiamo già detto che esiste un file ASP speciale che si chiama global.asa nel quale possiamo immagazzinare oggetti e variabili che hanno validità a livello di applicazione. In questo file possiamo memorizzare dati che avranno validità anche a livello di sessione. Il totale degli eventi che si possono generare in ogni file global.asa con del codice VBScript è 4; vediamo un esempio di un file global.asa con all'interno il codice di base.

<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
 
Sub Application_OnStart
    '...codice VBScript
End Sub
 
Sub Application_OnEnd
    '...codice VBScript
End Sub
 
Sub Session_OnStart
    '...codice VBScript
End Sub
 
Sub Session_OnEnd
    '...codice VBScript
End Sub
 
</SCRIPT>

Vediamo quindi che cosa sono le sessioni e le variabili di sessione e come possiamo utilizzarle.

Contattaci. Stampa questa pagina. Contattaci via SMS. e-Thomas.net © 2009 Tutti i diritti riservati
 

F.A.Q. - Chi Siamo - Sitemap - Aspetti legali - Privacy - Le nostre fonti - RSS

Utenti connessi: 3 - Visite: 436.637 dal 10/02/2004 - Visite medie giornaliere: 244