Für eine ASP.NET 4.0 / IIS7-Webanwendung möchte ich komprimierte HTTP -Anfragen unterstützen. Grundsätzlich möchte ich Clients unterstützen, die in den Anforderungsheadern Content-Encoding: gzip
hinzufügen und den Text entsprechend komprimieren.
Weiß jemand, wie ich ein solches Verhalten erreichen kann?
Ps: Betreffend, ich habe mehrere Endpunkte REST und SOAP, und es fühlt sich besser an, die Komprimierung auf der HTTP-Ebene zu unterstützen als benutzerdefinierte Kodierer für jeden Endpunkt.
Für diejenigen, die interessiert sein könnten, ist die Implementierung ziemlich einfach mit einem IHttpModule
, das einfach eingehende Anfragen filtert.
Update: Dieser Ansatz löst ein Problem in WCF aus, da WCF auf dem ursprünglichen Content-Length
und nicht auf dem nach dem Dekomprimieren erhaltenen Wert basiert.
Versuchen Sie Wiktors Antwort auf meine ähnliche Frage hier:
... aber bitte beachte, dass seine Implementierung in seinem Blog ein paar Bugs / Kompatibilitätsprobleme enthielt, also probiere bitte meine gepatchte Version der HttpCompressionModule Klasse aus, die auf der gleichen Seite gepostet wurde.
Tags und Links asp.net iis gzip request http-compression