WindowsAzureでホストされているWCFRestfulサービスでgzipHTTP圧縮を有効にしようとして失敗しました。このサービスは、GETおよびPOSTリクエストからのみJSONを返します。
たくさんのことを試したので、すべてをリストするのに苦労しましたが、(古いバージョンの紺碧などに関して)矛盾する情報を扱っていることに気づきました。きれいな状態から始めるのが最善だと思います。
Visual Studio用の2010年2月のツールを使用して、VisualStudio2008を使用しています。
だから、次のリンクによると..
..HTTP圧縮が有効になりました。次のページのアドバイスを使用しました(URL圧縮のアドバイスのみ)。
http://blog.smarx.com/posts/iis-compression-in-windows-azure
<urlCompression doStaticCompression="true"
doDynamicCompression="true"
dynamicCompressionBeforeCache="true"
/>
..しかし、圧縮されません。urlCompressionとhttpCompressionの違いがわからないのは役に立ちません。私は見つけようとしましたが、役に立ちませんでした!
Visual Studioのツールが、圧縮をサポートするバージョンのAzureより前にリリースされたという事実が問題になる可能性がありますか?どこかで読んだことがありますが、最新のツールを使用すると、公開時に使用するAzure OSのバージョンを選択できます...しかし、それが本当かどうかはわかりません。本当かどうかはわかりません。選択します。httpより前のバージョンを使用できますか?
ブローリーhttp圧縮モジュールも試しましたが、結果がありません。
これを達成する方法について、誰かが最新のアドバイスを持っていますか?つまり、AzureOSの現在のバージョンに関連するアドバイス。
乾杯!
スティーブン
更新:上記のコードを編集して、web.configスニペットのタイプを修正しました。
更新2:以下の回答に示されているwhatsmyip URLを使用して応答をテストすると、service.svcからのJSON応答が圧縮なしで返されますが、静的HTMLページはgzip圧縮で返されます。JSON応答を圧縮する方法についてのアドバイスはありがたいことに受け取られます!
更新3: 256KBを超えるJSON応答を試し、以下のコメントで説明されているように、JSON応答がこれよりも小さいことが問題の原因であるかどうかを確認しました。残念ながら、応答はまだ圧縮されていません。