Téléchargement de fichiers en ASP.Net avec la compression activée dans IIS6

Depuis pas loin d’une semaine, j’essayais de comprendre pourquoi mon code, qui fonctionnait très bien sur un autre serveur auparavant, ne permettait pas à un utilisateur de voir la taille du téléchargement d’un fichier que j’envoyais depuis une page ASPX. Le téléchargement se passait bien, mais l’utilisateur ne pouvait pas savoir où il en était de son téléchargement, et comme les fichiers en question sont volumineux …

Mais j’ai trouvé la solution ce matin 🙂

En fait, ça venait du fait que la compression était activée sur notre nouveau serveur web, et même en spécifiant le header « Content-Length », la compression perturbait l’interprétation de cette entête.

L’astuce est ici de désactiver la compression uniquement pour un fichier, ce qui n’est pas intuitif non plus, et voici la marche à suivre (traduit de cet article http://www.technoag.com/2006/10/25/iis6-http-compression-ie-6-pdf-trouble/ ) :

  1. Ouvrir le gestionnaire IIS sur le serveur
  2. Naviguer juqu’au fichier ASPX sur lequel on veut désactiver la compression
  3. Ouvrir le fichier et faire un léger changement (par exemple, si dans l’onglet sécurité, l’accès anonyme est activé, ajoutez l’authentification de base, afin que le fichier apparaisse comme une exception dans la metabase IIS)
  4. Ouvrir une invite de commande et placez-vous dans le répertoire « c:\inetpub\AdminScripts »
  5. Lancez les commandes suivantes pour désactiver la compression sur ce fichier :

cscript adsutil.vbs set W3SVC/[#]/Root/[PathToFile]/DoStaticCompression False

cscript adsutil.vbs set W3SVC/[#]/Root/[PathToFile]/DoDynamicCompression False

Où [#] est l’identifiant du site dans IIS (Allez dans les sites web dans le gestionnaire IIS et regarder l’identificateur dans la colonne de droite)

Et

Où [PathToFile] est le chemin depuis la racine de votre application web vers le fichier ASPX (ou un autre fichier) sur lequel vous souhaitez désactivez la compression .

 Et voilà 😉 En plus, le téléchargement est beaucoup plus rapide avec la compression désactivée.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.