2

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を超えると、問題が発生します。ここでテストプロジェクトを作成しました

前もって感謝します

4

0 に答える 0