2011-10-07 6 views
9

Ustawiłem OutputCache na "VaryByContentEncodings =" gzip "na mojej ASPX ASPX strony. Chcę, aby strona obsługiwała różne pliki CSS, gzipowane, jeśli przeglądarka obsługuje tę funkcję, i nie jest ona kompresowana, jeśli przeglądarka nie obsługuje kompresji.OutputCache VaryByContentEncodings gzip nie działa

Przykład:

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

Kiedy uruchomić kod pojawia się następujący błąd:

Atrybut „varybycontentencodings” nie jest obsługiwany przez „OutputCache” dyrektywa w stronie.

Nie wiem, na czym polega problem i dlaczego nie działa. Po drugie, czy uważasz, że serwując różne pliki CSS typu gzip/uncompress, robię to, co trzeba. Zauważ, że pliki są dostarczane z Amazon S3, więc nie mogę polegać na IIS lub silniku .NET, aby automatycznie przywrócić skompresowane pliki. Dlatego chcę służyć do oddzielenia buforowanej wersji strony.

W ten wydaje się być w porządku, ale to nie działa (przy użyciu ASP.NET 4.5):

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

pomoc będzie bardzo mile widziane.

Odpowiedz

4
  • Która wersja to z uruchomioną aplikacją?
  • Czy dyrektywa znajduje się na stronie głównej, kontrolnej lub ?

VaryByContentEncodings is introduced in the .NET Framework version 3.5.

HttpCachePolicy.VaryByContentEncodings Property

+0

numer wersji 4 –

1

prostu miałem dokładnie ten sam problem. Problem polega na tym, że Visual Studio intellisense sugeruje niepoprawną nazwę atrybutu. Prawidłowy to "" VaryByContentEncoding "- bez" s "na końcu.

Poprawnie:

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

Niepoprawnie:

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