2016-04-23 36 views

risposta

12

ci sono possibilità multiple Zip sono disponibili ad esempio GZIP, BZIP2 DEFLATE non è sicuro di quale utilizzare aiuto gentile qui

Questa lista sarà inviata al server e lasciarlo conoscere il c lient side preferences sulla compressione. Significa "Prima preferisco GZIP." Se GZIP non è supportato dal lato server, esegui il fallback sulla compressione BZIP2 DEFLATE, se BZIP2 DEFLATE non è supportato, allora il server non eseguirà alcuna compressione. "

C'è qualcuno che già crea un pacchetto di nuget che usa quell'implementazione appena inserita nella domanda. Il nome del pacchetto è Microsoft.AspNet.WebApi.MessageHandlers.Compression cui installare i seguenti due pacchetti:

  • Microsoft.AspNet.WebApi.Extensions.Compression.Server
  • System.Net.Http .Extensions.Compression.Client

Se non è necessaria la libreria lato client, solo il pacchetto lato server nel progetto API Web.

Per utilizzarlo è necessario modificare per aggiungere la seguente riga alla fine del tuo metodo Application_Start in Gloabl.asax.cs:

GlobalConfiguration.Configuration.MessageHandlers.Insert(0, new ServerCompressionHandler(new GZipCompressor(), new DeflateCompressor())); 

Per ulteriori informazioni su questo pacchetto di controllo questo link.

+0

Hi Ho maggese alle fasi che seguono, Creare la nuova soluzione in VS 2013 Web API, ha aggiunto pacchetto NuGet e configurare il Global.ascx .. quando ho eseguito il codice di esempio e il check-in violinista ancora la sua non compresso – user3227615

+0

È necessario configurare l'intestazione aggiungendo "Accept-Encoding: gzip, deflate" prima di inviare la richiesta al server. Fiddler non lo aggiunge automaticamente ma i browser lo fanno. – CodeNotFound

+0

@ user3227615 hai provato ciò che dico nel mio commento? – CodeNotFound