Habilitar la compresión dinámica en Windows Azure Cloud Services y Web Sites

Hace un par de semanas estuve hablando sobre la compresión de las peticiones JSON en IIS/IIS Express. Cuando trabajamos con Cloud Services no tenemos problema, ya que podemos configurar los mime types a través de un start up, con los comandos proporcionados en el artículo mencionado. Sin embargo, al ser una configuración a nivel de applicationHost.config, hasta hace poco no era posible habilitar estas opciones en Windows Azure Web Sites.

Desde el pasado 28 de Enero, el equipo de Windows Azure Web sites desbloqueó estas opciones a nivel de web.config, por lo que podemos incluirlas dentro del mismo en el apartado system.webServer como haríamos en applicationHost.config:

  <system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
    <handlers>
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
      <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
      <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFrameworkv4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%Microsoft.NETFramework64v4.0.30319aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
      <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    </handlers>
  <httpCompression>
    <dynamicTypes>
      <add enabled="true" mimeType="application/json"/>
      <add mimeType="application/json; charset=utf-8" enabled="true" />
    </dynamicTypes>
  </httpCompression>
  </system.webServer>

Espero que sea de utilidad.

¡Feliz semana!