2016-04-23 33 views

Odpowiedz

12

istnieje wiele opcji Zip dostępne są przykładem GZIP, BZIP2 DEFLATE nie wiem, który z nich korzystać życzliwej pomocy tutaj

Ta lista zostanie wysłana do serwera i niech wiedzą o C preferencje po stronie odbiorcy dotyczące kompresji. Oznacza to, że "najpierw wolę GZIP .Jeśli GZIP nie jest obsługiwany przez serwer, a następnie zastępuje kompresję BZIP2 DEFLATE .Jeżeli BZIP2 DEFLATE nie jest obsługiwane, serwer nie będzie kompresował."

Istnieje ktoś, kto już utworzył pakiet nuget, który korzysta z tej implementacji po prostu wpisujesz swoje pytanie. Nazwa pakietu jest Microsoft.AspNet.WebApi.MessageHandlers.Compression których zainstalowane dwa pakiety:

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

Jeśli nie potrzebujesz biblioteki po stronie klienta, to po prostu pakiet po stronie serwera w projekcie Web API.

Aby z niej skorzystać trzeba zmodyfikować, aby dodać następujący wiersz na końcu swojej metodzie Application_Start w Gloabl.asax.cs:

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

Aby dowiedzieć się więcej na temat tego pakietu to link czeku.

+0

Hi Mam odłogowaniu poniższe kroki, Tworzenie nowego rozwiązania w VS 2013 Web API, dodany pakiet Nuget i skonfigurować Global.ascx .. Kiedy uruchomić przykładowy kod i sprawdzić w Fiddler jeszcze jej nie skompresowany – user3227615

+0

Konieczne jest skonfigurowanie nagłówka przez dodanie "Accept-Encoding: gzip, deflate" przed wysłaniem żądania do serwera. Skrzypek nie dodaje go automatycznie, ale robią to przeglądarki. – CodeNotFound

+0

@ user3227615 sprawdzisz, co mówię w swoim komentarzu? – CodeNotFound