Czy ktoś wie, jak włączyć kompresję gzip w MVC 3? Używam IIS7.
Wynik audytu Google Chrome:
- Włącz kompresję gzip (4)
- Kompresja następujących zasobów za pomocą gzip może zmniejszyć ich rozmiar transferu o około dwie trzecie (~ 92,23 KB):
- / moja_domena / może zaoszczędzić ~ 1,53 KB
- jquery-1.4.4.min.js mógłby zaoszczędzić ~ 51.35KB
- Cufon.js mógłby zaoszczędzić ~ 11.89KB
- Futura.js mógłby zaoszczędzić ~ 27.46KB
asp.net-mvc
asp.net-mvc-3
iis
compression
gzip
imarkic84
źródło
źródło
Odpowiedzi:
Możesz skonfigurować kompresję za pomocą
web.config
pliku w następujący sposób:Dokumentację tego elementu konfiguracji można znaleźć pod adresem iis.net/ConfigReference . To jest odpowiednik:
Uwaga: (jak wskazano w komentarzach) Musisz upewnić się, że zainstalowano kompresję dynamiczną Http, w przeciwnym razie ustawienie
doDynamicCompression="true"
nie będzie miało żadnego efektu. Najszybszym sposobem na to jest:optionalfeatures
(jest to najszybszy sposób, aby dostać się do okna „Włącz lub wyłącz funkcje systemu Windows”)źródło
optionalfeatures
nie działał dla mnie. Zamiast tego przejdź do Menedżera serwera> Role> Przewiń do serwera sieci Web (IIS)> kliknij Dodaj usługi ról. Teraz upewnij się, że serwer WWW> Wydajność> Kompresja zawartości statycznej i Kompresja zawartości dynamicznej są zainstalowane.Możesz to zrobić w kodzie, jeśli wolisz to zrobić. Zrobiłbym podstawowy kontroler, z którego dziedziczy każda kontrolka i ozdobiłbym go poniższym atrybutem.
źródło
filter
byciem null. Użyłemvar response = ...;if( response == null || response.Filter == null)return;
.gzip
najpierw zamiastdeflate
, przeczytaj więcej tutaj: stackoverflow.com/a/9856879/1026459Kompresja jest włączona / wyłączona na poziomie serwera. Zobacz moduł kompresji IIS w konsoli zarządzania iis.
Oto instrukcje dotyczące usług IIS z witryny firmy Microsoft.
źródło