2011-10-07 12 views
9

He configurado OutputCache para que incluya 'VaryByContentEncodings = "gzip"' en mi ASP.net ASPX. Quiero que la página sirva diferentes archivos css, un gzip si el navegador lo admite y el no comprimido regular si el navegador no es compatible con la compresión.OutputCache VaryByContentEncodings gzip no funciona

Ejemplo:

<%@ OutputCache Duration="320" VaryByParam="none" VaryByContentEncodings="gzip" %> 

Cuando ejecuto el código me sale el siguiente error:

El atributo 'varybycontentencodings' no es compatible con la directiva 'outputcache' en una página.

No sé cuál es el problema y por qué no funciona. En segundo lugar, ¿crees que sirviendo diferentes gzip/CSS no comprimido estoy haciendo lo correcto? Solo tenga en cuenta que los archivos se sirven desde Amazon S3, por lo que no puedo confiar en que el motor IIS o .NET devuelva los archivos comprimidos automáticamente. Es por eso que quiero servir para separar la versión en caché de la página.

En esto parece estar bien, pero no funciona (con ASP.NET 4.5):

http://msdn.microsoft.com/en-us/library/system.web.httpcachevarybycontentencodings.aspx

ayuda sería muy apreciada.

Respuesta

4
  • ¿Qué versión tiene ejecutando su grupo de aplicaciones?
  • ¿Es la directiva en una página, control o página maestra ?

VaryByContentEncodings is introduced in the .NET Framework version 3.5.

HttpCachePolicy.VaryByContentEncodings Property

+0

número de versión 4 –

1

simplemente que tenía exactamente el mismo problema. El problema es que Visual Studio intellisense te sugiere un nombre de atributo incorrecto. El correcto, es "VaryByContentEncoding" - con la "s" al final.

correcta:

<%@ OutputCache ... VaryByContentEncoding="gzip" %> 

incorrecta:

<%@ OutputCache ... VaryByContentEncodings="gzip" %> 
Cuestiones relacionadas