1

asp.net 2.0 (C#) を使用してアプリケーションを開発しています。このアプリケーションでは、ファイルの圧縮を実装して、Web サイトのパフォーマンスを向上させようとしています。

そのために、すべてのリクエスト (.aspx、.js、.css) を圧縮するコードを Global.asax ファイルに追加しました正しくレンダリングされません。

なぜそれが起こっているのですか??

編集(圧縮コードを追加)

Global.asax ファイルの私の圧縮コードは次のとおりです。

void Application_BeginRequest()
    {
        HttpContext incoming = HttpContext.Current;
        string oldpath = incoming.Request.Path.ToLower();

        incoming.Response.Filter = new GZipStream(incoming.Response.Filter, CompressionMode.Compress);
        HttpContext.Current.Response.AppendHeader("Content-encoding", "gzip");
        HttpContext.Current.Response.Cache.VaryByHeaders["Accept-encoding"] = true;
    }

また、IIS 設定にアクセスできず、HttpModule を実装する権限がないため、Global.asax ファイルを使用して同じことを行うための他のより良い方法があれば教えてください。 Global.asax ファイルを使用しています。

ありがとう

4

1 に答える 1

3

静的ファイルの場合、圧縮を行うように IIS を構成できます。自分で実装する必要はありません。

IIS6 では、これはグローバル設定です (IIS マネージャーの [サービス] タブの [Web サイト] ノードのプロパティ)。

IIS7 では、これはフォルダーごとに設定され、動的コンテンツも圧縮されます。IIS マネージャーまたはweb.configファイルで設定できます。

<configuration>
  <system.webServer>
    <urlCompression doDynamicCompression="true" doStaticCompression="true" />
  </system.webServer>
</configuration>
于 2009-02-21T15:22:31.423 に答える