5

Tworzę program instalacyjny dla mojej aplikacji internetowej. Moja aplikacja internetowa używa silnie CSS i JS, więc chcę włączyć zarówno Statyczną, jak i Dynamiczną Kompresję Http dla IIS7/7.5.Jak programowo włączyć funkcję DynamicCompression w IIS?

Potrzebuje 2 etapy:

  1. mogę zmodyfikował web.config umieścić <httpcompression> znacznik, to w porządku.
  2. Funkcja DynamicContentCompression musi być włączona w funkcji systemu Windows, aby działała funkcja httpCompression.

Statyczna kompresja Http jest włączona domyślnie w IIS7 i IIS7.5, ale dynamiczna kompresja Http nie jest domyślnie włączona (chociaż jest dostępna). Mogę zrobić ręcznie, włączając: Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on or Off/IIS/WWW Service/Performance features/Dynamic Content Compression, ale Jak mogę programowo go włączyć na tej funkcji systemu Windows? Mogę używać PowerShell, C# w moim instalatorze.

Każdy pomysł, w jaki sposób mogę to zrobić? Dzięki.

Odpowiedz

0

Możesz to włączyć za pomocą narzędzia appcmd. Z wiersza poleceń:

C:\windows\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:True 

Lub jeśli chcesz wykonać ją od wewnątrz skryptu PowerShell:

& $env:windir\system32\inetsrv\appcmd set config -section:urlCompression /doDynamicCompression:true 

będziesz potrzebować uprawnień administracyjnych zrobić albo.

+0

Dzięki Greg, ale ten addcmd nie jest "Włącz funkcję Windows", której potrzebuję. –

1

Zastrzeżenie: to jest zupełnie niesprawdzone i niesprawdzone ....

odpowiedź Grega powyżej jest prawie w porządku, ale to tylko odblokowuje zainstalowana funkcja. Domyślnie, gdy ta funkcja jest zainstalowana, jest zablokowana ... całkowicie na poziomie maszyny.

Racjonalnie, ponieważ dynamiczna kompresja może naprawdę zerwać z procesorami serwerów. Tak więc w środowisku hostingowym może to zabić rzeczy. Nawet z własnym dedykowanym serwerem może również bardzo źle zabijać. Bezpieczna trasa polega na domyślnym zablokowaniu i tylko wtedy, gdy wiesz, co robisz, a następnie otwórz i odblokuj.

Więc .. po szybkim wyszukiwaniu w Google, i came to this page.

Zauważ, jak ten artykuł technetu zawiera wiersz poleceń, aby zainstalować wszystkie wymagane pakiety dla przykładowego statycznego serwera IIS. Wiem, że twoje pytanie nie dotyczy statycznego serwera IIS ... ale działa w najlepszy możliwy sposób.

Zgaduję ... może to? ::

Start /w pkgmgr /iu:IIS-HttpCompressionDynamic 

?? może :)

here's another article with more options ...

6

ten sposób bym to zrobił:

dism/online/enable-funkcja/featurename: IIS-HttpCompressionDynamic

dism pozwala sprawdzić kod zwrotny polecenia, co pozwala zweryfikować że działało (lub było już zainstalowane)

4

Te polecenia PowerShell dodają funkcję kompresji dynamicznej.

Import-Module ServerManager 
Add-WindowsFeature Web-Server, Web-Dyn-Compression 

Nie zapomnij uruchomić jako administrator lub mieć uprawnienia administratora.

+1

Proszę poprawić swoją odpowiedź –

+0

To działało również dla mnie na IIS8. – nkassis

Powiązane problemy