Reputation: 3994
I want to compress responses coming from my IIS Express driven web application. We're using IIS Express as local development webserver and IIS on staging and on our build machines. I have found many guides on enabling gzipped responses on IIS but none for IIS Express. Is it even possible?
Upvotes: 27
Views: 14413
Reputation: 197
For Visual Studio 2019 I found the above does not work, as the applicationhost.config
file is unique to the project. This file is stored in .vs\<solution_name>\config\applicationhost.config
. For VS 2017 it isnt in the solution subfolder.
Thus the solution for me was to replace <httpCompression/>
with the following.
<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>
Upvotes: 6
Reputation: 17519
You can enable compression in IIS Express, just like for IIS.
Start command prompt and go to IIS Express installation folder (%PROGRAMFILES%\IIS Express
)
Run following command
appcmd set config -section:urlCompression /doDynamicCompression:true
To add compression for JSON run the following two commands from the IIS Express installation directory:
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
Make sure to restart IIS Express.
Upvotes: 39