26

我想压缩来自我的 IIS Express 驱动的 Web 应用程序的响应。我们使用 IIS Express 作为本地开发网络服务器,并在登台和构建机器上使用 IIS。我找到了许多关于在 IIS 上启用 gzip 响应的指南,但没有找到针对 IIS Express 的指南。甚至可能吗?

4

2 回答 2

38

您可以在 IIS Express 中启用压缩,就像 IIS 一样。

  1. 启动命令提示符并转到 IIS Express 安装文件夹 ( %PROGRAMFILES%\IIS Express)

  2. 运行以下命令

appcmd 设置配置 -section:urlCompression /doDynamicCompression:true

要为 JSON 添加压缩,请从 IIS Express 安装目录运行以下两个命令:

appcmd set config /section:staticContent /+[fileExtension='.json',mimeType='application/json']

appcmd.exe 设置配置 -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/json',enabled='True']" /commit:apphost

确保重新启动 IIS Express。

于 2012-04-12T04:56:55.617 回答
2

对于 Visual Studio 2019,我发现上述方法不起作用,因为该applicationhost.config文件是项目独有的。该文件存储在.vs\<solution_name>\config\applicationhost.config. 对于 VS 2017,它不在解决方案子文件夹中。

因此,我的解决方案是替换<httpCompression/>为以下内容。

<httpCompression directory="%TEMP%\iisexpress\IIS Temporary Compressed Files">
            <scheme name="gzip" dll="%IIS_BIN%\gzip.dll" />
            <dynamicTypes>
                <add mimeType="text/*" enabled="true" />
                <add mimeType="message/*" enabled="true" />
                <add mimeType="application/x-javascript" enabled="true" />
                <add mimeType="application/javascript" enabled="true" />
                <add mimeType="application/json" enabled="true" />
                <add mimeType="*/*" enabled="false" />
            </dynamicTypes>
            <staticTypes>
                <add mimeType="text/*" enabled="true" />
                <add mimeType="message/*" enabled="true" />
                <add mimeType="application/javascript" enabled="true" />
                <add mimeType="application/atom+xml" enabled="true" />
                <add mimeType="application/xaml+xml" enabled="true" />
                <add mimeType="image/svg+xml" enabled="true" />
                <add mimeType="*/*" enabled="false" />
            </staticTypes>
        </httpCompression>
于 2021-05-06T14:46:41.293 回答