Ich schreibe ein. Net Web API (2), die diese eine POST-Methode haben. Diese Methode deserialisiert derzeit ihren einzigen Parameter, indem sie den Standard-JSON-Formatierer verwendet. Wir schreiben auch den Client, der diesen Api a C# -Client mit System.Net.Http.HttpClient zur Kommunikation nutzt..Net Web API 2 POST konsumieren gzip komprimierten Inhalt
Es besteht die Möglichkeit, große Datenmengen zu übertragen. Dies veranlasste uns dazu, den Footprint der Anfrage zu reduzieren.
Nach der Suche auf dieser Website stieß ich auf einige Alternativen mit Gzip-Komprimierung. Ich habe bereits ein Arbeits Proof of Concept:
Also, meine Frage ...
Muss ich wirklich all diesen benutzerdefinierten Code dafür schreiben? Gibt es einen eingebauten Weg, um den Fußabdruck der Anfrage zu verringern?
Einige Artikel, die erwähnt wurden, erwähnen die Aktivierung von gzip (oder deflate) in IIS (siehe Enable IIS7 gzip). Dies funktionierte nicht für mich (ich habe es aktiviert, ich mache immer noch die Komprimierung auf der Client-Seite, entfernt den DelegatingHandler vom Server ... aber nichts, ich habe am Ende einen Null-Parameter in der Controller-Methode)
Haben Sie eine Lösung für dieses Problem gefunden? – Jerome2606
Nichts aus der Box. Nach den Links, die ich in meinem Post hinzugefügt habe, habe ich einen DelegatingHandler implementiert, der die Anfragen dekomprimiert, wenn ein Content-Encoding-Header "gzip" vorhanden ist. (überschreibt SendAsync). – qazcde