2016-04-23 20 views
7

私はこのURLをWeb APIの圧縮に使用しましたが、アウトドアを参照すると、フィドラーのヘッダーはzipではありません。複数のジップオプションがあります、私は以下のソリューションを試してみましたが、それらの両方が動作していないここにWeb Api gzip圧縮

を助ける親切に使用する1 GZIP、BZIP2 DEFLATEわからない利用できる例です:

http://benfoster.io/blog/aspnet-web-api-compression

答えて

12

複数のジップオプションがあります可能な例GZIP、BZIP2 DEFLATEはここ

このリストは、サーバーに送信されるのを助ける親切に使用し、それがC知らせるためにどの1わかりませんリチュートサイドの圧縮に関する好み。 GZIPがサーバー側でサポートされていない場合、BZIP2 DEFLATE圧縮にフォールバックします.BZIP2 DEFLATEがサポートされていない場合、サーバーは圧縮を行いません。

あなたが質問に入れたその実装を使用するナゲットパッケージを既に作成している人がいます。

  • Microsoft.AspNet.WebApi.Extensions.Compression.Server
  • System.Net.Http:パッケージ名は、次の2つのパッケージをインストールMicrosoft.AspNet.WebApi.MessageHandlers.Compressionです.Extensions.Compression.Client

クライアントサイドライブラリが必要ない場合は、Web APIプロジェクトのサーバーサイドパッケージのみを使用します。このlinkを確認し、このパッケージの詳細については

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

:あなたはGloabl.asax.csであなたのApplication_Start方法の末尾に以下の行を追加して変更する必要があり、それを使用するには

+0

こんにちは、私は、以下の手順にfallowedいる 、 nugetパッケージを追加して、VS 2013のWeb APIの新しいソリューションを作成し、Global.ascxを設定..私は、サンプルコードを実行し、その圧縮されていない、まだシオマネキにチェック – user3227615

+0

サーバーに要求を送信する前に、「Accept-Encoding:gzip、deflate」を追加してヘッダーを構成する必要があります。 Fiddlerはそれを自動的には追加しませんが、ブラウザは自動的に追加します。 – CodeNotFound

+0

@ user3227615私のコメントで私が言ったことをテストしましたか? – CodeNotFound