Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!
L'Oggetto Response
|
Si ringrazia Matteo Gentile per la concessione del materiale pubblicato in questo articolo.
|
Questo oggetto serve per inviare informazioni al client. La sintassi di
questo oggetto è la seguente:
Response.collection|property|method
Il modello dell'oggetto Response è il seguente:
|
|
Specifica il valore di un Cookie. Usando questa collezione puoi
settare il valore di un cookie. |
|
|
Indica se l’output della pagina è bufferizzato. |
|
|
Setta un header per dire al proxy server o ad altri meccanismi di
cache se essi possono memorizzare il risultato generato dalle pagine
ASP. |
CharSet |
Appende il nome del set di caratteri al content-type header. Il set di
caratteri dice al browser come visualizzare i caratteri. |
CodePage |
Dice al server come codificare i caratteri per differenti
linguaggi. |
|
|
Permette di settare il tipo di output prodotto dalla pagina
(TEXT/HTML, EXCEL, JPG Picture, …). Quello di default è
TEXT/HTML. |
|
|
Specifica i minuti dopo i quali la memorizzazione nella cache del
browser non è più valida e la pagina dovrà essere nuovamente richiesta al
server. |
|
|
Specifica la data e l’ora in cui la memorizzazione nella cache del
browser non è più valida. |
|
|
Indica se il client si è disconnesso dal server. |
|
|
Setta l’ LCID per i dati in un Response. L’ LCID si riferisce alla
formattazione di data e ora per una specifica zona geografica. |
Pics |
Serve per inserire una stringa nell’header di etichetta PICS di una
pagina. |
Status |
Il valore della linea di stato ritornato dal Server. I valori sono
definiti dalle specifiche HTTP. |
|
|
Aggiunge un valore ad un certo Header HTML. |
AppendToLog |
Aggiunge una riga alla fine del Log file del Server. Utile quando si
sta correggendo un errore. |
BinaryWrite |
Scrive i dati nel corrente output HTTP senza considerare la
conversione del set di caratteri impostata ma in maniera binaria.Utile
solo se l’output è binario (es. file Excel o immagine). |
Clear |
Cancella ogni output HTML che era stato bufferizzato. Funziona solo se
Buffer è settato a True. |
|
|
Interrompe l'esecuzione della pagina e invia al client il buffer se è
memorizzato. |
|
|
Manda immediatamente all’utente i dati presenti nel buffer. |
|
|
Interrompe l’esecuzione della pagina e fa collegare il browser
dell’utente ad un’altra pagina. |
|
|
Scrive una variabile o del testo sottoforma di stringa e lo manda al
browser dell’utente. |
Response.Write
Serve per scrivere sullo schermo. La sua semplice sintassi è:
Response.write("Scrivo") varibile="ciao" Response.write(Variabile)
E' equivalente alla scrittura:
<%=variabile%>
Indietro
Serve per fermare il processo di response e mostrare i risultati parziali
dell’elaborazione fatta fino a quel momento. Ecco un semplice
esempio:
<% Response.Write "Scrivo testo" Response.End Response.Write
"Ho chiuso il testo. Questo non viene visualizzato! " %>
Indietro
La proprietà Response.IsClientConnected permette di interrompere le
comunicazioni con un utente che si è sconnesso, evitando inutili invii di
dati. Ecco un semplice esempio:
<% set connDB=server.createobject("adodb.connection") conn.Open
"database " mySQL="select * from database " Set rscerca =
Server.CreateObject("ADODB.Recordset") rscerca.Open mySQL, conn,
adOpenStatic, adLockPessimistic %> <HTML> <BODY>
<% Do Until (rscerca.EOF OR Response.IsClientConnected=FALSE)
Response.Write rscerca.Fields("campo_database") %> <br> <%
rscerca.MoveNext Loop rscerca.Close conn.Close %>
Posso bufferizzare un’intera pagina (cioè spedire al browser dell’utente la
pagina solo dopo che è terminata l’elaborazione da parte del server) abilitando
a true il “Response Buffering”. Questo minimizza le scritture da parte del
browser migliorando così le performance. Ogni scrittura contiene un sacco di
ripetizioni (come in IIS), quindi è meglio ridurle. TCP/IP lavora in modo molto
più efficiente quando può spedire pochi blocchi grossi piuttosto che tanti
piccoli a causa degli algoritmi che impiega per minimizzare la congestione di
rete. Posso abilitare il Response Buffering per l’intera applicazione
tramite l’Internet Services Manager, o pagina per pagina mettendo in cima alla
pagina ASP:
Response.Buffer=true
Deve essere eseguita prima che ogni altro dato sia stato scritto dal
browser, cioè anche prima di <html>.
Con il Response.Buffer devo aspettare che l’utente riceva l’intera pagina
prima di mostrargli qualcosa. Se la pagina contiene molti dati l’utente si può
stancare non vedendo niente arrivare. Può quindi convenire disabilitare il
buffering e utilizzare il metodo:
Response.Flush
Questo permette di inviare all’utente una parte dei dati per volta. Ad
esempio, se ho una tabella di 1000 righe, gliele posso mostrare 100 per
volta. Questo è il miglior compromesso tra il Response Buffering e la
presentazione graduale dei dati all’utente. Notare che non tutti i browser
mostrano i dati di una tabella fino a quando non leggono il tag di chiusura
</table>. In quelli che invece lo fanno, le prestazioni migliorano se
specifico la larghezza delle colonne.
|