1

WCF応答を圧縮する必要があります。いくつかのグーグル検索の後、私はそれを見つけました

  • iis7で圧縮を有効にする必要があります
  • applicationhost.configにエントリを追加する必要があります。

私のwcfはdiscountasp.netでホストされています。コントロールパネルに、圧縮を有効にするオプションが見つかりませんでした。また、applicationhost.configは「C:\ Windows \ System32 \ Inetsrv \ Config\applicationHost.config」ディレクトリにあります。

そして、共有ホスティング環境では、私はこのディレクトリにアクセスできません。

私の質問は、上記の観察が正しければ、共有ホスティングでそれをどのように行うのですか?

編集:

ここで何かを見つけました:ここ にリンクの説明を入力してください

運が悪かったのでこれを試しました。Fiddlerの応答ヘッダーには、圧縮が表示されません。

4

1 に答える 1

1

代替手段の 1 つは、GZipStream クラスを使用して、コンテンツ タイプに基づいて応答をインターセプトし、その場で出力を圧縮する HttpModule を実装することです。

この投稿には完全な例があり、私はこの方法を本番環境でうまく使用しています。Web.config を変更して http モジュールを登録するだけです。

<httpModules>
    <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
    <add name="JsonCompressionModule" type="JsonCompressionModule"/>
</httpModules>

この例では JSON 応答に対してこれを行いますが、XML 応答に対して同じことを行うことを妨げるものは何もありません。

于 2012-08-06T22:22:11.703 に答える