5

私はMVC3サイトの1つからJSON圧縮を有効にすることに取り組んできました。私が読んださまざまな記事からapplication/json; charset=utf-8、アプリケーションのweb.configファイルでMIMEタイプを設定できるはずのようです。ただし、そうしても圧縮は有効になりません。ただし、applicationhost.configファイルに追加すると、機能します。ここで何かが足りませんか?

私のアプリケーションweb.configには、次のものが追加されています。

<httpCompression directory="%SystemDrive%\inetpub\temp\IIS Temporary Compressed Files">
    <scheme name="gzip" dll="%Windir%\system32\inetsrv\gzip.dll" />
    <dynamicTypes>
        <add mimeType="application/javascript; charset=utf-8" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="application/json; charset=utf-8" enabled="true" />
    </dynamicTypes>
    <staticTypes>
        <add mimeType="application/javascript; charset=utf-8" enabled="true" />
        <add mimeType="application/x-javascript" enabled="true" />
        <add mimeType="application/json" enabled="true" />
        <add mimeType="application/json; charset=utf-8" enabled="true" />
    </staticTypes>
</httpCompression>
<urlCompression doStaticCompression="true" doDynamicCompression="true" />

サーバーは、IIS7.5を搭載したWindows Server2008R2を実行しています。また、問題のサイトにダイナミック圧縮をインストールして有効にしました。

サーバー全体でJSON圧縮を有効にしたくないので、助けていただければ幸いです。

4

1 に答える 1

11

HttpCompressionweb.configでプロパティを設定できないセクションが定義さAppHostOnlyれています。ApplicationHost.config

圧縮モジュールは「ApplicationHost.config」からサーバーレベルのプロパティのみを読み取るため、セクションのロックを解除しても(appcmdまたはoverrideModeDefault="Allow"で)、下位レベルの設定は無視されます。

于 2012-05-29T08:37:09.547 に答える