Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Utilizzo di Application per query frequenti

Molto spesso si costruiscono script che prevedono l'effettuazione di query su una tabella da parte di tutti gli utenti che accedono al sito nonostante la stessa tabella (o limitatamente i campi restituiti dalla query) sia oggetto di modifiche solo raramente.
Esiste un modo per evitare che tutti gli utenti eseguano ad ogni accesso la stessa identica query ed alleggerire quindi il lavoro del server: utilizzare le variabili Application.
Una volta creata una variabile Application, questa è disponibile per tutte le pagine del sito web e per tutti gli utenti: solo nel caso in cui vi fosse un restart di IIS la variabile sarebbe azzerata.
Lo script di seguito mostra come sia possibile creare la variabile application con le informazioni provenienti dal database (lista delle sezioni del sito, ad esempio) e stamparla in ogni pagina piuttosto che effettuare infinite volte la stessa query sul database.


<%
function elencoSezioni()
if IsNull(Application("sezioni") then
'Apri connessione (conn)
'Apri recordset (rs)
strSQL = "SELECT * FROM tSezioni ORDER BY sezione"
rs.Open strSQL, conn
if not rs.EOF then
sQuery = ""
sQuery = "<select name=""sezione"">"
do while not rs.EOF
sQuery = sQuery &"<option value="""& rs("sezione_id") &""">"& rs("sezione") &"</option>"
rs.MoveNext
Loop
sQuery = sQuery &"</select>"

'Creo la variabile application
Application("sezioni") = sQuery
end if
'Chiudi recordset (rs)
'Chiudi connessione (conn)
end if
elencoSezioni = Application("sezioni")
end function

Response.Write("<form method = ""post"" action = ""pagina.asp"">")
Response.Write(elencoSezioni())
Response.Write("</form>")
%>


Molto spesso si costruiscono script che prevedono l'effettuazione di query su una tabella da parte di tutti gli utenti che accedono al sito nonostante la stessa tabella (o limitatamente i campi restituiti dalla query) sia oggetto di modifiche solo raramente.
Esiste un modo per evitare che tutti gli utenti eseguano ad ogni accesso la stessa identica query ed alleggerire quindi il lavoro del server: utilizzare le variabili Application.
Una volta creata una variabile Application, questa è disponibile per tutte le pagine del sito web e per tutti gli utenti: solo nel caso in cui vi fosse un restart di IIS la variabile sarebbe azzerata.
Lo script di seguito mostra come sia possibile creare la variabile application con le informazioni provenienti dal database (lista delle sezioni del sito, ad esempio) e stamparla in ogni pagina piuttosto che effettuare infinite volte la stessa query sul database.


<%
function elencoSezioni()
if IsNull(Application("sezioni") then
'Apri connessione (conn)
'Apri recordset (rs)
strSQL = "SELECT * FROM tSezioni ORDER BY sezione"
rs.Open strSQL, conn
if not rs.EOF then
sQuery = ""
sQuery = "<select name=""sezione"">"
do while not rs.EOF
sQuery = sQuery &"<option value="""& rs("sezione_id") &""">"& rs("sezione") &"</option>"
rs.MoveNext
Loop
sQuery = sQuery &"</select>"

'Creo la variabile application
Application("sezioni") = sQuery
end if
'Chiudi recordset (rs)
'Chiudi connessione (conn)
end if
elencoSezioni = Application("sezioni")
end function

Response.Write("<form method = ""post"" action = ""pagina.asp"">")
Response.Write(elencoSezioni())
Response.Write("</form>")
%>


Link copiato negli appunti

Molto spesso si costruiscono script che prevedono l'effettuazione di query su una tabella da parte di tutti gli utenti che accedono al sito nonostante la stessa tabella (o limitatamente i campi restituiti dalla query) sia oggetto di modifiche solo raramente.

Esiste un modo per evitare che tutti gli utenti eseguano ad ogni accesso la stessa identica query ed alleggerire quindi il lavoro del server: utilizzare le variabili Application.

Una volta creata una variabile Application, questa è disponibile per tutte le pagine del sito web e per tutti gli utenti: solo nel caso in cui vi fosse un restart di IIS la variabile sarebbe azzerata.

Lo script di seguito mostra come sia possibile creare la variabile application con le informazioni provenienti dal database (lista delle sezioni del sito, ad esempio) e stamparla in ogni pagina piuttosto che effettuare infinite volte la stessa query sul database.


<%

function elencoSezioni()

if IsNull(Application("sezioni") then

'Apri connessione (conn)

'Apri recordset (rs)

strSQL = "SELECT * FROM tSezioni ORDER BY sezione"

rs.Open strSQL, conn

if not rs.EOF then

sQuery = ""

sQuery = "<select name=""sezione"">"

do while not rs.EOF

sQuery = sQuery &"<option value="""& rs("sezione_id") &""">"& rs("sezione") &"</option>"

rs.MoveNext

Loop

sQuery = sQuery &"</select>"

'Creo la variabile application

Application("sezioni") = sQuery

end if

'Chiudi recordset (rs)

'Chiudi connessione (conn)

end if

elencoSezioni = Application("sezioni")

end function

Response.Write("<form method = ""post"" action = ""pagina.asp"">")

Response.Write(elencoSezioni())

Response.Write("</form>")

%>