【发布时间】:2012-04-11 08:51:42
【问题描述】:
我想压缩来自我的 IIS Express 驱动的 Web 应用程序的响应。我们使用 IIS Express 作为本地开发网络服务器,并在暂存和我们的构建机器上使用 IIS。我找到了许多关于在 IIS 上启用 gzipped 响应的指南,但没有找到 IIS Express 的指南。有没有可能?
【问题讨论】:
标签: asp.net gzip iis-express
我想压缩来自我的 IIS Express 驱动的 Web 应用程序的响应。我们使用 IIS Express 作为本地开发网络服务器,并在暂存和我们的构建机器上使用 IIS。我找到了许多关于在 IIS 上启用 gzipped 响应的指南,但没有找到 IIS Express 的指南。有没有可能?
【问题讨论】:
标签: asp.net gzip iis-express
对于 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>
【讨论】:
您可以在 IIS Express 中启用压缩,就像 IIS 一样。
启动命令提示符并转到 IIS Express 安装文件夹 (%PROGRAMFILES%\IIS Express)
运行以下命令
appcmd 设置配置 -section:urlCompression /doDynamicCompression:true
要为 JSON 添加压缩,请从 IIS Express 安装目录运行以下两个命令:
appcmd set config /section:staticContent /+[fileExtension='.json',mimeType='application/json']
appcmd.exe set config -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/json',enabled='True']" /commit:apphost
确保重新启动 IIS Express。
【讨论】:
{MyDocumentsFolder}\IISExpress\applicationhost.config编辑.config文件