5

Sto facendo un programma di installazione per la mia applicazione web. La mia applicazione web utilizza pesantemente CSS e JS, quindi voglio abilitare sia HttpCompression statico che dinamico per IIS7/7.5.Come posso attivare la funzionalità DynamicCompression di IIS a livello di programmazione?

ha bisogno di 2 fasi:

  1. posso modificato il web.config, messo <httpcompression> tag, è ok.
  2. DynamicContentCompression deve essere attivato nella funzionalità di Windows per rendere funzionante httpCompression.

Statico HttpCompression è abilitato per impostazione predefinita in IIS7 e IIS7.5, ma Dynamic HttpCompression non è abilitato per impostazione predefinita (sebbene sia disponibile). Posso fare manualmente accendendo: Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on or Off/IIS/WWW Service/Performance features/Dynamic Content Compression, ma Come posso attivare a livello di codice quella funzionalità di Windows? Posso usare PowerShell, C# nel mio programma di installazione.

Qualche idea su come potrei essere in grado di farlo? Grazie.

risposta

0

È possibile attivare questo utilizzando lo strumento appcmd. Da una riga di comando:

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

Oppure, se si vuole eseguirlo dall'interno di uno script PowerShell:

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

Si sta andando ad avere bisogno di privilegi amministrativi per fare neanche.

+0

Grazie Greg, ma che addcmd non è 'Attiva la funzionalità di Windows' di cui ho bisogno. –

1

Esonero di responsabilità: questo è del tutto indimostrato e non testato ....

risposta di Greg sopra è quasi giusto, ma che solo sblocca la funzione installata. Per impostazione predefinita, quando questa funzione è installata, è bloccata verso il basso ... fino al livello della macchina.

Il razionale è perché la compressione dinamica può davvero rompere con la CPU dei server. Quindi in un ambiente di hosting, questo potrebbe uccidere le cose. Anche con il tuo server dedicato, potrebbe anche uccidere le cose male. Quindi il percorso sicuro è bloccarlo per impostazione predefinita e solo se sai cosa stai facendo, quindi vai e sbloccalo.

Quindi .. avendo una ricerca google veloce, i came to this page.

Nota come questo articolo technet ha una riga di comando per installare tutti i pacchetti richiesti per un server IIS statico di esempio. So che la tua domanda non è per un server IIS statico ... ma rende i comandi possibili.

Quindi immagino ... forse questo? ::

Start /w pkgmgr /iu:IIS-HttpCompressionDynamic 

?? forse :)

here's another article with more options ...

6

Questo è il modo in cui avrei fatto:

dism/linea/enable-funzione/featurename: IIS-HttpCompressionDynamic

dism consente di verificare il codice di ritorno del comando, che consente di verificare che ha funzionato (o era già installato)

4

Questi comandi di PowerShell aggiungeranno aggiungere la funzione di compressione dinamica.

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

Non dimenticare di eseguire come amministratore o disporre dei diritti di amministratore.

+1

Si prega di migliorare la risposta –

+0

Questo ha funzionato anche su IIS8. – nkassis