2009-12-14 10 views
13

Mientras trabajo en la caché, hay algo así como¿Qué es VaryByParam en asp.net?

VaryByParam

en directiva de página. ¿Entonces qué es esto? ¿Alguien me puede explicar esto?

+0

se puede encontrar una explicación detallada en el siguiente enlace: http://stackoverflow.com/questions/3538012/how-do-i-use-varybyparam-with-multiple-parameters – Jonay

Respuesta

13

De @ OutputCache (MSDN):

Una lista separada por comas de cadenas utilizadas para variar la caché de resultados. De forma predeterminada, estas cadenas corresponden a un valor de cadena de consulta enviado con los atributos del método GET o un parámetro enviado mediante el método POST. Cuando este atributo se establece en múltiples parámetros, el caché de resultados contiene una versión diferente del documento solicitado para cada parámetro especificado. Los valores posibles incluyen none, * y cualquier cadena de consulta válida o nombre de parámetro POST.

Mediante su uso, si se llama a su página usando el mismo valor de la variable, esa página se recuperará de la memoria caché y no se ejecutará hasta que especifiqué en Duration argumento de ser alcanzado.

+0

Sr. Rubbens Faria si quiero ubicar la caché solo para una web controlar como etiqueta cómo ca n escribo –

+0

Puede escribir un control de usuario (.ASCX) que contiene su etiqueta y agregar esa '@ OutputCache' en ese control. Eche un vistazo aquí: http://msdn.microsoft.com/en-us/library/h30h475z.aspx –

+0

Ok, bien entendí Gracias Sr. Rubens Farias –

21

citar el MSDN documentation:

Una lista separada por comas de cadenas utilizadas para variar la caché de resultados. De forma predeterminada, estas cadenas corresponden a un valor de cadena de consulta enviado con los atributos del método GET o un parámetro enviado mediante el método POST. Cuando este atributo se establece en múltiples parámetros, el caché de salida contiene una versión diferente del documento solicitado para cada combinación de parámetros especificados. Los valores posibles incluyen ninguno, un asterisco (*) y cualquier cadena de consulta válida o nombre de parámetro POST.

Por lo tanto, si se establece a "A;B", a continuación, estas URL se almacenan en caché por separado:

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 

pero esas URLs tendrán acceso a la misma entrada de la caché:

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

Esta es en realidad una respuesta un poco mejor que la aceptada debido a los ejemplos . – campbelt

Cuestiones relacionadas