Comment activer la compression gzip HTTP sur le contenu dynamique Windows Azure

Comment activer la compression gzip HTTP sur le contenu dynamique Windows Azure

Cela a pris très longtemps… mais j’ai finalement résolu ce problème, et je souhaite publier la réponse pour tous ceux qui galèrent. La solution est très simple et j’ai vérifié qu’elle fonctionne bel et bien !!

Modifiez votre fichier ServiceDefinition.csdef pour contenir ceci dans la balise WebRole :

    <Startup>
      <Task commandLine="EnableCompression.cmd" executionContext="elevated" taskType="simple"></Task>
    </Startup>

Dans votre rôle web, créez un fichier texte et enregistrez-le sous « EnableCompression.cmd »

EnableCompression.cmd doit contenir ceci :

%windir%\system32\inetsrv\appcmd set config /section:urlCompression /doDynamicCompression:True /commit:apphost
%windir%\system32\inetsrv\appcmd set config  -section:system.webServer/httpCompression /+"dynamicTypes.[mimeType='application/json; charset=utf-8',enabled='True']" /commit:apphost

… et c’est tout ! Terminé ! Cela active la compression dynamique pour le JSON retourné par le rôle web, qui, d’après ce que j’ai lu quelque part, a un type MIME plutôt inhabituel, alors assurez-vous de copier le code exactement.