jsonフィードをレンダリングする必要がありました。フィードのサイズが約10MBであるため、ASPNETで圧縮を有効にすることにしました。jsonmimeタイプの動的圧縮を有効にしました。圧縮は適切に機能し、サイズを1 MBに削減しました(使用するサーバーCPUにとって大きな圧縮の利点)。
しかし、奇妙なことに、ブラウザは毎回2.6分かかり、JSONが数秒で受信されたのに失敗しました。
フィドラーと検査ツールを使ってデバッグしてみました。応答としてチャンク転送エンコーディングが表示されます。したがって、ブラウザは約150秒間待機して、0サイズのチャンクを受信して完了します。
どのjsonサービスでも応答をフラッシュしません。したがって、この場合、IISはチャンク転送を有効にします。enableChunkedEncodingをオフにしても効果はありませんでした。
この圧縮を機能させるにはどうすればよいですか、または圧縮+チャンク転送を一緒に機能させるにはどうすればよいですか?
リクエストヘッダーとレスポンスヘッダーは次のとおりです。
リクエストヘッダー
リクエストURL:http:// localhost:8080 / Default2.aspx
リクエスト方法:GET
ステータスコード:200OK
Accept-Encoding:gzip、deflate、sdch
応答ヘッダー
Content-Encoding:gzip
Content-Type:application / json; charset = utf-8
Transfer-Encoding:chunked
編集:興味深いことに、圧縮された応答が1 MB未満の場合、すべてが正常に機能します。応答が1MBを超えると、問題が発生します。ここでテストプロジェクトを作成しました
前もって感謝します