如何以编程方式打开IIS的DynamicCompression功能?

Tha*_*evn 7 iis-7 server-configuration http-compression windows-7 iis-7.5

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

它需要两个步骤:

  1. 我可以修改web.config,put <httpcompression>标签,没关系.
  2. 必须在Windows功能中打开DynamicContentCompression才能使httpCompression工作.

静态HttpCompression在IIS7和IIS7.5中默认启用,但默认情况下不启用Dynamic HttpCompression(尽管它可用).我可以通过打开手动:Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on or Off/IIS/WWW Service/Performance features/Dynamic Content Compression但是如何以编程方式将其打开? 我可以在安装程序中使用PowerShell,C#.

知道我怎么能这样做吗?谢谢.

小智 9

这就是我做的方式:

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

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


小智 6

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

Import-Module ServerManager
Add-WindowsFeature Web-Server, Web-Dyn-Compression
Run Code Online (Sandbox Code Playgroud)

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


Gre*_*les 1

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

C:\windows\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:True
Run Code Online (Sandbox Code Playgroud)

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

& $env:windir\system32\inetsrv\appcmd set config -section:urlCompression /doDynamicCompression:true
Run Code Online (Sandbox Code Playgroud)

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