1

私の IIS 7.5 Web サーバーには gzip が正しくセットアップされており、ほとんどの場合に機能します。

しかし、応答ヘッダーを見ると、JsonResult メソッドに対して行った要求が gzip されていないことがわかります。JsonResult が Content-Encoding: gzip でデータを返すようにするには、何を変更する必要がありますか?

これは、JsonResult メソッドを呼び出すときのヘッダーのスクリーンショットです。

ここに画像の説明を入力

RenderPartial() など、html を返すものを呼び出したときのヘッダーのスクリーンショットと比較すると、次のようになります。

ここに画像の説明を入力

編集:これらは、applicationHost.config からの私の圧縮設定です。

    <httpCompression 
        directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
        <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
        <dynamicTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="application/json" enabled="true" />
            <add mimeType="application/json; charset=utf-8" enabled="true" />                
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </dynamicTypes>
        <staticTypes>
            <add mimeType="text/*" enabled="true" />
            <add mimeType="message/*" enabled="true" />
            <add mimeType="application/json" enabled="true" />
            <add mimeType="application/json; charset=utf-8" enabled="true" />                
            <add mimeType="application/x-javascript" enabled="true" />
            <add mimeType="application/atom+xml" enabled="true" />
            <add mimeType="application/xaml+xml" enabled="true" />
            <add mimeType="*/*" enabled="false" />
        </staticTypes>
    </httpCompression>
4

2 に答える 2

0

構成は正しいようです。IIS がすべての圧縮を開始するためのしきい値に達していない可能性があります。

これを試してください: IIS マネージャーで、構成エディターに移動し、system.WebServer/serverRuntime を見つけます。テスト時にしきい値を満たしていることを保証するために、frequentHitThreshold とfrequencyHitTimePeriod の設定を調べてドロップダウンします。

詳細はこちら: http://blogs.msdn.com/b/asiatech/archive/2013/02/19/unable-to-compress-json-result-in-iis-7-x.aspx

于 2014-08-10T14:54:32.983 に答える