Iis 7 如何以编程方式打开IIS的DynamicCompression功能?
我正在为我的web应用程序制作一个安装程序。我的web应用程序大量使用CSS和JS,因此我想为IIS7/7.5启用静态和动态HttpCompression 它需要两个步骤:Iis 7 如何以编程方式打开IIS的DynamicCompression功能?,iis-7,windows-7,iis-7.5,http-compression,server-configuration,Iis 7,Windows 7,Iis 7.5,Http Compression,Server Configuration,我正在为我的web应用程序制作一个安装程序。我的web应用程序大量使用CSS和JS,因此我想为IIS7/7.5启用静态和动态HttpCompression 它需要两个步骤: 我可以修改web.config,放置标记,这样就可以了 必须在Windows功能中启用DynamicContentCompression,才能使httpCompression正常工作 IIS7和IIS7.5中默认启用静态HttpCompression,但默认情况下不启用动态HttpCompression(尽管它可用)。我可以
web.config
,放置
标记,这样就可以了李>
Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on或Off/IIS/WWW服务/性能功能/动态内容压缩
,但如何以编程方式打开该Windows功能?
我可以在安装程序中使用PowerShell,C#
你知道我该怎么做吗?谢谢。您可以使用appcmd工具打开此功能。从命令行:
C:\windows\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:True
或者,如果要在PowerShell脚本中执行它:
& $env:windir\system32\inetsrv\appcmd set config -section:urlCompression /doDynamicCompression:true
您需要管理权限才能执行这两项操作。免责声明:这完全是未经证实和测试的 格雷格在上面的回答几乎是正确的,但这只会解锁已安装的功能。默认情况下,安装该功能后,它将被锁定。。。一直到机器层面 理性的原因是,动态压缩确实会破坏服务器的CPU。因此,在托管环境中,这可能会扼杀一切。即使使用自己的专用服务器,它也可能会导致严重后果。因此,安全的方法是在默认情况下锁定它,只有当你知道你在做什么,然后去解锁它 所以。。有一个快速的谷歌搜索 请注意,这篇technet文章有一个命令行,用于安装示例静态IIS服务器所需的所有软件包。我知道你的问题不是针对静态IIS服务器。。。但它确实尽可能地简化了命令 所以我猜。。。也许是这个
Start /w pkgmgr /iu:IIS-HttpCompressionDynamic
???也许:)
…这是我应该做的事情: dism/联机/启用功能/功能名称:IIS HttpCompressionDynamic
dism允许您检查命令的返回代码,允许您验证它是否工作(或已安装)这些PowerShell命令将添加动态压缩功能
Import-Module ServerManager
Add-WindowsFeature Web-Server, Web-Dyn-Compression
不要忘记以管理员身份运行或拥有管理员权限。启用Windows OptionalFeature-Online-FeatureName IIS HttpCompressionDynamic
谢谢Greg,但是addcmd不是打开我需要的Windows功能。请改进您的答案