如何以编程方式打开IIS的动态压缩功能?

时间:2010-03-05 04:54:40

标签: iis-7 windows-7 iis-7.5 http-compression server-configuration

我正在为我的网络应用程序制作安装程序。我的Web应用程序大量使用CSS和JS,因此我想为IIS7 / 7.5启用静态和动态HttpCompression。

需要两个步骤:

  1. 我可以修改web.config,添加<httpcompression>标记,没关系。
  2. 必须在Windows功能中打开DynamicContentCompression才能使httpCompression正常工作。
  3. 静态HttpCompression在IIS7和IIS7.5中默认启用,但默认情况下不启用Dynamic HttpCompression(尽管它可用)。我可以通过打开手动执行:Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on or Off/IIS/WWW Service/Performance features/Dynamic Content Compression,但如何以编程方式将其打开?Windows功能? 我可以在安装程序中使用PowerShell,C#。

    知道我怎么能这样做?感谢。

5 个答案:

答案 0 :(得分:8)

这就是我的方式:

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

dism允许你检查命令的返回码,允许你验证它是否有效(或者已经安装)

答案 1 :(得分:4)

这些PowerShell命令将添加添加动态压缩功能。

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

不要忘记以管理员身份运行或拥有管理员权限。

答案 2 :(得分:1)

您可以使用appcmd工具启用此功能。从命令行:

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

或者,如果您想在PowerShell脚本中执行它:

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

您将需要管理权限才能执行任何操作。

答案 3 :(得分:1)

免责声明:这是完全未经证实且未经测试的......

Greg上面的答案几乎是正确的,但只有解锁已安装的功能。默认情况下,当安装该功能时,它会被锁定...在机器级别一直向下。

理性是因为动态压缩确实可以与服务器CPU混淆。所以在托管环境中,这可能会扼杀一些东西。即使使用您自己的专用服务器,它也可能会严重破坏事物。因此,安全路线是默认锁定它,只有当你知道你在做什么,然后去解锁它。

所以..快速谷歌搜索,i came to this page

请注意这个technet文章如何安装命令行,以便为示例静态IIS服务器安装所有必需的软件包。我知道您的问题不适用于静态IIS服务器......但它确实可以使命令高亮。

所以我猜...也许这个? ::

Start /w pkgmgr /iu:IIS-HttpCompressionDynamic

??也许:))

here's another article with more options ...

答案 4 :(得分:0)

Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpCompressionDynamic