2010-11-24 7 views
0

私は、.net 3.5 c#Webアプリケーションを開発し、パフォーマンスを改善したいと考えています。アプリには多数のjavascriptファイルとcssファイルがあります。 Base64エンコードされた文字列にCSSファイルにWebアプリケーションへのperf最適化の統合についてのアドバイス

  • を組み合わせるJavaScriptファイル
  • 組み合わせるcssファイル
  • 最小化ファイル
  • 変更任意の画像を:

    いくつかのテクニックは、私は実装で探しています、次のとおりまたはスプライト

上記はいくつかの例です達成したいと思っていますが、私の質問はそのようなことをやり遂げる方法についてです。

私はこれを行うためのMSBuildタスクの作成を検討していました。しかし、私が持っている合併症は以下の通りです。

私は多数のjavascriptファイルを含む多数のページを持っています。私が望むのは、アプリケーションがデバッグモードにあるときです。リリースモードであれば、個々のファイルを使用し、結合されたファイルを使用します。したがって、複雑さの最初の部分は、実行時の決定になります。

次の問題は、どのファイルを結合するかを知るビルドタスクです。とにかくビルドタスクは、各ページで使用されるjavascriptを見て、実行時にこれに基づいてファイルを結合することができますか?

私は例としてjavascriptを使用しましたが、同じことがCSSに適用されます。

私が持っている他の問題は、ユーザーコントロールにもjavascriptがあるため、アカウントにも取り込まれるということです。これが達成できなければ私はあまり心配していません。

最後のステップでは、新しいリリースでキャッシュを無効にするためのパラメータとしてjavascript/cssファイルでビルド番号またはいくつかの固有番号を実行時に出力することになります。

私は自分の質問がスケッチであることを認識していますが、可能であればこれについてのアドバイスを探しています。

ありがとうございました。

答えて

0

私は、別の(デバッグ)vsの組み合わせ(リリース)に対して助言します。これは戦う追加の変数を作成し、は最終的にこれによって噛まれることになります。 Minified vs originalはあまり明確ではありませんが、にはがあります。ミニバージョンのバージョンは異なる動作をします。同じように、同じミニCSSがブラウザで動作していても、入力が気に入らなければ、いくつかのCSSミニファイアは失敗します(通常は空のCSSを出します)。これらの理由から、私はこれをより早期に発見するために縮小されたバージョンで開発すると言うでしょう。

その他の思考:

  • する/あなたがGZIPをサポートして確実に収縮させる
  • あなたは有効期限ヘッダをサポートすることを確認
  • CDNまたは静的コンテンツ(なしクッキーについても同様spriting画像、有効期限ヘッダーが有効になって。静的ファイルモードのWebサーバー - CPUオーバーヘッドなし)

(はい、あなたはそのwキャッシュブレーカ)

関連する問題