J'utilise actuellement un codeur GZIP personnalisé pour mon service WCF. Je veux le remplacer par la compression IIS 7 intégrée si cela est possible. Je ne trouve pas d'informations en ligne sur la façon de faire.
Y a-t-il un moyen d'activer la compression IIS 7 pour les services de WCF? Savez-vous si cela sera pris en charge hors de la case avec .NET 4? P>
Modifier le 15 juin: em> strong> Je cherche toujours Pour un moyen de remplacer notre codeur GZIP personnalisé avec une approche traditionnelle, donc si vous savez faire cela avec .NET 4 et IIS 7, veuillez répondre à cette question. P> Merci P> Comme je ne trouve pas comment le faire en tournant simplement quelques boutons que j'ai décidé d'essayer manuellement. < / p> jusqu'à présent que j'ai: p> J'ai utilisé un sniffer http pour renifler le trafic envoyé de mon application (Formulaires Windows). Je vois que les demandes ne possèdent pas le donc i p> avec le sniffer http, je peux voir que l'en-tête du client a maintenant le haut-par-tête correct: p> mais la réponse du serveur n'est toujours pas comprimée. P> Pourquoi la réponse du serveur n'est-elle pas comprimée? Ai-je utilisé les types de mime corrects? Une fois que je reçois le serveur pour renvoyer une réponse compressée, le client le décompressera-t-il automatiquement ou devra écraser le code sur le côté client pour décompresser? P> Merci pour votre aide P> p>
< P> Barre latérale: Ma tentative de le faire manuellement forte> p>
mimeType = "Application / SOAP + xml" code> et
MIMETYPE = "Application / XOP + XML" code>. li>
ul>
Accepter-coding: gzip, dégonfler code> HTTP en-tête. p>
OperationContextscope CODE> Classe et son
sortaingmessageProperties code>. (Je posterai les détails plus tard si je trouve la solution). Li>
ul>
4 Réponses :
Cela dépend peut-être de la configuration de service de WCF spécifique que vous utilisez, mais pour les applications que je l'ai utilisées (tous ont été accessibles à des applications .NET et des pages Silverlight), la classe cliente générée par WCF contenait une propriété enableCompompression qui peut être réglé sur true. Après que mes applications WinForms envoient les en-têtes correctes et que la communication WebService est correctement comprimée. P>
Merci pour votre réponse. Mon client CLIENT est une application de base WinForms afin que je puisse être capable d'utiliser enableCompression. Votre réponse implique que vous ayez activé avec succès la compression sur le serveur. Était-ce sur IIS 7? Comment l'avez-vous configuré? Une idée de la raison pour laquelle je ne peux pas obtenir le serveur de retourner les réponses comprimées?
Ceci est utile pour IIS 6 P>
http: // ramon.bloggingabout.net/2008/11/06/wcf-and-http-gzipdeflate-Compression-and-silverlight/ P>
(URL mise à jour) p>
C'est un produit mort ;-)
J'ai eu le même problème; Les pages .aspx ont été comprimées mais le contenu de la WCF n'était pas. Cela concerne le type de contenu renvoyé par le service WCF, qui a été ajouté au type MIME.
Je l'ai eu pour fonctionner avec la section suivante dans l'applicationHost.config: p>
<add mimeType="application/xml; charset=utf-8" enabled="true" />
Comme je l'ai senti que l'encodage du jeu de caractères ne doit pas déterminer si la compression fonctionne ou non, j'ai fini par laisser IIS compresse toutes les types de contenu d'application / *. p> p>
Rappel: Faites d'abord la sauvegarde. Fichier est c: \ windows \ system32 \ inetsrv \ config \ applicyhost.config code>
Il semble que vous puissiez activer la compression dynamique dans IIS via l'interface graphique ou CLI. p>
Cet article vous montre les deux sens: p>
J'ai trouvé l'interface graphique facile. L'article vous montre comment confirmer qu'il fonctionne avec Fiddler. p>
acclamations! p>
Ma question semble être un duplicata de Stackoverflow. com / questions / 1741768 / ... . Cette question s'applique à IIS 6, mais je pense que la solution fonctionnera ici aussi. Si tel est le cas, je fermerai cette question comme un duplicata.