2008-12-16 5 views
3

J'ai un webservice et un client dans C#/dotnet et j'utilise EnableDecompression pour compresser gzip les réponses que je reçois du serveur web. Est-il possible de compresser les requêtes aussi?Demande de service Web de compression

+0

Êtes-vous en train de pousser de grandes quantités de données dans votre demande? Si ce n'est pas le cas, la compression pourrait vous coûter plus qu'elle ne vous rapportera. –

+0

Oui, nous essayons d'augmenter environ 150 Mo de données dans environ 100 lots de 1,5 Mo ... – horatio

Répondre

2

Les extensions SOAP vous permettent de personnaliser le flux SOAP sur le client et le serveur. Ils sont agréables parce que vous pouvez laisser votre code de service seul - la manipulation se produit avant le début d'une webmethod et après sa fin. Ils fonctionnent beaucoup comme un HttpModule mais peuvent aussi être inclus du côté client/demande.

A part cela, la seule option qui vient à l'esprit est sérialisation manuellement et la compression de grands éléments SOAP comme byte [], puis décompresser manuellement et désérialisation sur le serveur (frisson ...). Les problèmes de maintenance liés à cette approche sont probablement prohibitifs.

+0

Il semble que votre 3ème lien est juste en train d'être redirigé vers http://searchwindevelopment.techtarget.com/?id=SOAPExtensions – Zack

+0

@Zack - Oui, la réponse a presque six ans (!) Et souffrait de pourriture de lien. J'ai remplacé le mauvais lien par un article de Microsoft. Attention, les extensions SOAP ne font pas partie de WCF et sont donc largement hors de propos. –

0

J'ai trouvé this tutorial sur la compression des messages SOAP en C#, en utilisant la bibliothèque SharpZipLib et extensions SOAP:

Semble pour garnir environ 30% de compression, ce sera donner un essai aujourd'hui.

+1

Version archivée: http://web.archive.org/web/20060507182910/http://www.infosrama.com/soapcompression.htm – user423430

Questions connexes