2009-12-14 13 views
13

Mentre sto lavorando su cache, c'è qualcosa comeChe cos'è VaryByParam in asp.net?

VaryByParam

nella direttiva della pagina. Allora, cos'è questo? Qualcuno può spiegarmelo?

+0

si può trovare un spiegazione dettagliata nel seguente link: http://stackoverflow.com/questions/3538012/how-do-i-use-varybyparam-with-multiple-parameters – Jonay

risposta

13

Da @ OutputCache (MSDN):

Un elenco virgola di stringhe separate utilizzati per variare la cache di output. Per impostazione predefinita, queste stringhe corrispondono a un valore stringa di query inviato con gli attributi del metodo GET o un parametro inviato utilizzando il metodo POST. Quando questo attributo è impostato su più parametri, la cache di output contiene una versione diversa del documento richiesto per ciascun parametro specificato. I valori possibili includono none, * e qualsiasi stringa di query valida o nome del parametro POST.

Tramite esso, se si chiama la pagina utilizzando lo stesso valore di una variabile, la pagina verrà recuperata dalla cache e non saranno eseguiti fino al momento in especified Duration argomento essere raggiunto.

+0

Mr. Rubbens Faria se voglio posizionare la cache solo per una rete controlla come etichetta come ca n scrivo –

+0

Puoi scrivere un controllo utente (.ASCX) che contiene la tua etichetta e aggiungere "@ OutputCache" in quel controllo. Date un'occhiata qui: http://msdn.microsoft.com/en-us/library/h30h475z.aspx –

+0

Ok ok ho capito Grazie Mr. Rubens Farias –

21

Per citare dal MSDN documentation:

Un elenco separato da virgola di stringhe utilizzate per variare la cache di output. Per impostazione predefinita, queste stringhe corrispondono a un valore stringa di query inviato con gli attributi del metodo GET o un parametro inviato utilizzando il metodo POST. Quando questo attributo è impostato su più parametri, la cache di output contiene una versione diversa del documento richiesto per ciascuna combinazione di parametri specificati. I valori possibili includono none, un asterisco (*) e qualsiasi stringa di query valida o nome di parametro POST.

Quindi, se lo si imposta a "A;B", allora questi URL verranno memorizzate nella cache separatamente:

http://example.com/yourpage.aspx?A=1&B=4 
http://example.com/yourpage.aspx?A=1&B=3 
http://example.com/yourpage.aspx?A=2&B=3 

ma tali URL accederanno alla stessa voce della cache:

http://example.com/yourpage.aspx?A=1&C=4 
http://example.com/yourpage.aspx?A=1&C=3 
+1

Questa è in realtà una risposta leggermente migliore rispetto a quella accettata a causa degli esempi . – campbelt

Problemi correlati