3

私はしばらくの間、いくつかのサイトにHTTP圧縮を実装しようとしてきました。

次の2つの手法のバリエーションを使用してHTTP圧縮を実装しようとしました。

Global.asaxのApplication_BeginRequestから

カスタムHttpModuleから

どちらの場合も、最初は機能しているようです。しかし、サイト内を移動すると、CSSのスタイルがすぐに失われます。そして、ブラウザはJSファイルに無効な文字が含まれていると報告します。そして、ある時点で、サイト全体が完全にぎこちなくなります。

ここで何が起こっているのかを知っていたらいいのにと思います。誰か提案はありますか?これらの手法は古いバージョンのASP.NET/IISでのみ機能するためですか?

編集: IISにアクセスできないので、必要ありません。ASP.NETとIISの最新のイテレーションでは、IISに触れることなくweb.configにますます多くの制御が与えられています。これは、IISを詳しく調べなくても完全にサポートされているはずです。実際、上記の2つのリンクは、まさにこれを実行できると主張しています。私はそれを私のために働かせることができません。

編集:さらに詳しく調べると、上記の2番目のリンク(HTTPモジュール)のコードを使用して、サイト上のすべてのファイルタイプに対してモジュールハンドラーが呼び出されていることがわかります。これは明らかに問題の一部です。(場合によっては、ページ全体がガベージに変わることに注意してください。これは、他の問題を示唆しています。)HTTPハンドラーに送信されるファイルを決定するもの、またはそのリンクのコードが他の誰かに機能するが私には機能しない理由を誰かが提案できますか? ?

4

2 に答える 2

3

IIS7は圧縮をネイティブにサポートします-コーディングは必要ありません。おそらく、それを有効にしていないホスティングプロバイダーに実装しようとしているが、それがあなたの質問で明確にされていない場合を除きます

于 2011-02-13T21:48:53.587 に答える
1

ここでいくつかの問題が発生している可能性がありますが、ウォークスルーからの次の引用:カスタムHTTPモジュールの作成と登録が問題を明らかにしているようです。

ASP.NETアプリケーションがIIS6.0で実行されている場合は、HTTPモジュールを使用して、ASP.NETによってサービスされるリソースの要求をカスタマイズできます。これには、ASP.NET Webページ(.aspxファイル)、Webサービス(.asmxファイル)、ASP.NETハンドラー(.ashxファイル)、およびASP.NETにマップしたすべてのファイルの種類が含まれます。ASP.NETアプリケーションがIIS7.0で実行されている場合は、HTTPモジュールを使用して、IISによって提供されるリソースの要求をカスタマイズできます。これには、ASP.NETリソースだけでなく、HTMLファイル(.htmまたは.htmlファイル)、グラフィックファイルなどが含まれます。

私が疑い始めたように、これはASP.NET4.0とIIS7の変更です。何度か述べたように、これらはますます統合されています。また、上記の引用は、HTTPモジュールがIISによって提供されるすべてのファイルタイプを処理するようになったことを示しています。

そのため、古いコードは私には機能しません。そして、修正は、ハンドラーからファイルタイプタイプをチェックするだけのようです。

于 2011-02-15T00:57:14.547 に答える