我正在为我的网络应用程序制作安装程序。我的Web应用程序大量使用CSS和JS,因此我想为IIS7 / 7.5启用静态和动态HttpCompression。
需要两个步骤:
web.config
,添加<httpcompression>
标记,没关系。 静态HttpCompression在IIS7和IIS7.5中默认启用,但默认情况下不启用Dynamic HttpCompression(尽管它可用)。我可以通过打开手动执行:Start/ControlPanel/ProgramsAndFeatures/TurnWindowsFeatures on or Off/IIS/WWW Service/Performance features/Dynamic Content Compression
,但如何以编程方式将其打开?Windows功能?
我可以在安装程序中使用PowerShell,C#。
知道我怎么能这样做?感谢。
答案 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
??也许:))
答案 4 :(得分:0)
Enable-WindowsOptionalFeature -Online -FeatureName IIS-HttpCompressionDynamic