Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iis 7 如何以编程方式打开IIS的DynamicCompression功能?_Iis 7_Windows 7_Iis 7.5_Http Compression_Server Configuration - Fatal编程技术网

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

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应用程序制作一个安装程序。我的web应用程序大量使用CSS和JS,因此我想为IIS7/7.5启用静态和动态HttpCompression

它需要两个步骤:

  • 我可以修改
    web.config
    ,放置
    标记,这样就可以了
  • 必须在Windows功能中启用DynamicContentCompression,才能使httpCompression正常工作
  • IIS7和IIS7.5中默认启用静态HttpCompression,但默认情况下不启用动态HttpCompression(尽管它可用)。我可以手动打开:
    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功能。请改进您的答案