Eprogram informatica V anno ASP.NET Introduzione ASP.NET (Active Server Page) è il linguaggio che, sfruttando la tecnologia .NET, permette di: - scrivere delle pagine Web dinamiche eseguite sul server - creare dei veri e propri applicativi Web (Web Application) che garantiscono alte performance, sicurezza e versatilità. Il codice ASP.NET viene compilato per cui la visualizzazione da parte del browser può risultare lenta la prima volta che viene attivata, ma risulteranno più veloci le visualizzazioni successive. La pagina dinamica Una pagina dinamica viene eseguita dal server che costruisce una pagina HTML, con all’interno dati eventualmente prelevati da un database, e la invia al client che la visualizza attraverso un browser: Computer come Web server Per lavorare con ASP.NET occorre che il computer diventi un Web server. ASP.NET mette a disposizione dell’utente due modalità tramite cui il computer può diventare un server Web locale: - il software IIS (Internet Information Service) della Microsoft il server Web integrato nell’ambiente di sviluppo. Response.Redirect Nella costruzione di un sito Web spesso è necessario costruire più pagine che si richiamano tra di loro e che si passano informazioni. Il richiamo di una pagina avviene utilizzando il metodo Redirect della classe Response con la seguente sintassi: Dove pagina.aspx è la pagina che viene richiamata. Passaggi di informazioni tra pagine Web In ASP.NET sono previste diverse possibilità per il passaggio di informazioni tra pagine che si richiamano. In queste diapositive vedremo il passaggio di informazioni tramite: - l’impostazione di una stringa di query, - la memorizzazione delle informazioni in un cookie - l’uso delle variabili di sessione. È possibile inoltre passare lo stato della sessione e lo stato dell’applicazione. Impostazione stringa di query L’impostazione di una stringa di query è il metodo più semplice e prevede l’inserimento delle informazioni all’interno dell’URL della pagina a cui si viene reindirizzati con la seguente sintassi: Nella pagina pagina.aspx la variabile nomevar assumerà il valore specificato nel richiamo utilizzando il metodo QueryString dell’oggetto Request: Memorizzazione informazioni in cookie Lo stesso obiettivo può essere raggiunto utilizzando un file di cookie: - tale file verrà salvato automaticamente e in modo trasparente per l’utente nella memoria del browser se le informazioni in esso contenute sono temporanee. - verrà invece salvato sul disco dell’utente se dovrà contenere informazioni di più lunga durata La sintassi per la dichiarazione di un cookie è la seguente: dove nomecookie indica il nome dell’istanza e nome indica il nome fisico del file di cookie. La durata del cookie La durata del cookie può essere definita dall’utente stesso con il metodo Expires. Nel caso non sia definito viene considerato temporaneo. Inserimento di variabili, metodo Add Per inserire una variabile con un dato valore nel cookie creato scriverai: È poi necessario aggiungere il cookie creato alla collezione dei cookies della pagina Web usando il metodo Add: Leggere il cookie, Request.Cookies Per leggere un cookie viene usato il comando Request.Cookies secondo la seguente sintassi: Creare pagine con i Cookies, Session Se vogliamo creare delle pagine che “ricordino” delle informazioni, dobbiamo memorizzarle. Un modo per farlo è usare le sessioni che utilizzano i cookie per memorizzare le informazioni, ma lo fanno in modo trasparente al programmatore. L’oggetto Session è utilizzato per memorizzare o cambiare le informazioni circa la sessione di un singolo utente. Le variabili memorizzate nell’oggetto Session hanno delle informazioni sul singolo utente e sono disponibili per TUTTE le pagine dell’applicazione. Come memorizzare variabili di sessione L’esempio seguente spiega come memorizzare delle variabili di sessione. Imposteremo la variabile di sessione username a “mario” e la variabile age a 20: Queste due variabili possono essere recuperate in QUALSIASI parte dell’applicazione con le istruzioni: Rimuovere tutte le variabili, RemoveAll Per rimuovere tutte le variabili di sessione si può utilizzare il metodo RemoveAll della collezione Contents che contiene tutte le variabili di sessione: In alternativa si può ricorrere all’istruzione: Terminare una sessione, Timeout e Abandon Una sessione termina se un utente non ha richiesto pagine o fatto il refresh in una pagina dell’applicazione per un determinato lasso di tempo. Di default questo tempo è 20 minuti. Se si vuole cambiare l’intervallo di default, occorre impostare la proprietà Timeout. Per terminare una sessione immediatamente si può utilizzate il metodo Abandon: