5

我正在爲我的Web應用程序製作安裝程序。我的web應用程序大量使用CSS和JS,所以我想爲IIS7/7.5啓用靜態和動態HttpCompression。如何以編程方式打開IIS的DynamicCompression功能?

它需要兩個步驟:

  1. 我可以修改web.config,把<httpcompression>標籤,它的確定。
  2. 必須在Windows Feature中打開DynamicContentCompression才能使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

您可以使用appcmd工具將其打開。在命令行:

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

或者,如果你想從一個PowerShell腳本中執行:

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

你會需要管理員權限才能做到無論是。

+0

感謝格雷格,但addcmd不'打開我需要的Windows功能'。 – 2010-03-08 03:43:39

1

免責聲明:這是完全未經證實的和未經考驗....

上述格雷格的回答幾乎是正確的,但只有解鎖安裝的功能。默認情況下,安裝該功能後,它將被鎖定在機器級別。

理性是因爲動態壓縮可以真正與服務器CPU擦肩而過。所以在一個主機環境中,這可能會導致死亡。即使使用自己的專用服務器,也可能會導致嚴重的事情。所以安全路線是默認鎖定它,只有當你知道你在做什麼,然後去解鎖它。

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

請注意這篇technet文章如何安裝所有必需的靜態IIS服務器示例包。我知道你的問題不是針對一個靜態的IIS服務器......但它確實讓命令成爲可能。

所以我猜...也許這? ::

Start /w pkgmgr /iu:IIS-HttpCompressionDynamic 

?? ??也許:)

here's another article with more options ...

6

這是我會做的方式:

DISM /在線/使能功能/ featurename:IIS-HttpCompressionDynamic

DISM允許你檢查命令的返回碼,讓您驗證它已經工作(或已經安裝)

4

這些PowerShell命令將添加添加動態壓縮功能。

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

不要忘記以管理員身份運行或具有管理員權限。

+1

請改善您的答案 – 2015-02-06 01:45:19

+0

這也適用於我在IIS8上。 – nkassis 2015-07-08 14:47:46