5

Estoy haciendo un programa de instalación para mi aplicación web. Mi aplicación web usa CSS y JS en gran medida, por lo que quiero habilitar HttpCompression estático y dinámico para IIS7/7.5.¿Cómo puedo activar la característica DynamicCompression de IIS mediante programación?

necesita 2 pasos:

  1. puedo modificado el web.config, puesto <httpcompression> etiqueta, está bien.
  2. DynamicContentCompression debe activarse en la Característica de Windows para que funcione httpCompression.

Static HttpCompression está habilitado por defecto en IIS7 e IIS7.5, pero Dynamic HttpCompression no está habilitado por defecto (aunque está disponible). Puedo hacerlo manualmente por encendido: Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on or Off/IIS/WWW Service/Performance features/Dynamic Content Compression, pero ¿Cómo puedo activarlo programáticamente esa característica de Windows? Puedo usar PowerShell, C# en mi instalador.

¿Alguna idea de cómo podría hacer esto? Gracias.

Respuesta

0

Puede activarlo utilizando la herramienta appcmd. Desde una línea de comandos:

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

O si desea ejecutarlo desde dentro de un script de PowerShell:

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

Vas a necesitar privilegios administrativos para hacer cualquiera.

+0

Gracias Greg, pero ese addcmd no es 'Encienda la función de Windows' que necesito. –

1

responsabilidad: esto es totalmente probados y no probados ....

respuesta de Greg anterior es casi correcta, pero que sólo desbloquea la función instalada. De manera predeterminada, cuando se instala esa característica, se bloquea ... todo a la baja en el nivel de la máquina.

Lo racional es que la compresión dinámica realmente puede fracasar con la CPU de los servidores. Entonces en un entorno de hosting, esto podría matar cosas. Incluso con tu propio servidor dedicado, también podría matar las cosas mal. Entonces la ruta segura es bloquearlo por defecto y solo si sabes lo que estás haciendo, entonces ve y desbloquéalo.

Así que ... tener una búsqueda rápida en Google, i came to this page.

Observe que este artículo de Technet tiene una línea de comandos para instalar todos los paquetes necesarios para un servidor IIS estático de muestra. Sé que su pregunta no es para un servidor IIS estático ... pero sí ilumina los comandos posibles.

Así que supongo ... ¿tal vez esto? ::

Start /w pkgmgr /iu:IIS-HttpCompressionDynamic 

?? tal vez :)

here's another article with more options ...

6

Esta es la forma en que lo habría hecho:

dism/línea/enable-función/featurename: IIS-HttpCompressionDynamic

dism le permite comprobar el código de retorno del comando, lo que le permite verificar que funcionó (o ya estaba instalado)

4

Estos comandos de PowerShell agregarán agregan la función Compresión dinámica.

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

No olvides ejecutar como administrador o tener derechos de administrador.

+1

Por favor, mejore su respuesta –

+0

Esto funcionó para mí en IIS8 también. – nkassis

Cuestiones relacionadas