4

私は、Web フォームを扱うすべての人が抱えている可能性のある (大きな) 問題を抱えています。

問題は、ページをロードする時間です。Vista(IIS 7)でlocalhost(魔女が最速のモードである必要があります)を使用すると、このグラフが表示されます

代替テキスト http://www.balexandre.com/temp/2009-06-29_1302_soquestion.png

元のファイル リンク

ご覧のとおり、ページを表示するのに 17 秒以上かかります!!! ページ自体をロードするのにわずか2秒...

ASP.NET AJAX フレームワークを使用して Web パーツを操作しています。

この 17 秒を短縮するにはどうすればよいですか?

どこに行くかについてのアイデアは大歓迎です:)


追加: Jan Zich による正解テスト

変えてみました

<asp:ScriptManager ID="sm" runat="server" />

の中へ

<ajax:ToolkitScriptManager ID="sm" runat="server" CombineScripts="true" />

下の画像でわかるように、FireBug を使用した結果は印象的です (半分の時間で、キャッシュを使用していません!)。

代替テキスト http://www.balexandre.com/temp/2009-06-29_1543_soquestion.png

元のファイル リンク

CSS と jQueryファイルをキャッシュすると、その半分になります。

代替テキスト http://www.balexandre.com/temp/2009-06-29_1550_soquestion.png

元のファイル リンク

4

3 に答える 3

4

実際に修正する方法がわからないため、これは有効な回答とは見なされませんが、問題は、前のスクリプトの実行が完了するまで待つ必要があるため、ほとんどのブラウザー (おそらく Safari と Chrome を除く) が JavaScript を順次ロードすることです。 (ドキュメントを変更する可能性があるため)。これは通常、すべての JavaScript ファイルを 1 つに結合することで修正されます。

編集:関連する質問: WebResource.axd ファイルと ScriptResource.axd ファイルを組み合わせて、ASP.NET サーバーへの要求を減らすにはどうすればよいですか? . また、スクリーンショットから実際にどのスクリプトを含めているのかわかりませんが、おそらくカスタム スクリプトです。アプリケーションでそれらを何らかの方法で組み合わせる方法はありますか?

于 2009-06-29T11:14:03.990 に答える
1

デバッグ モードが有効になっている場合 (web.config: <compilation debug="true">)、javascript ファイル、画像、CSS ファイルなどのリソースはブラウザーによってキャッシュされないことに注意してください。

したがって、実稼働環境 (デバッグが無効になっている) では、これらの数値は異なって見える場合があります。これは、ブラウザーがほとんどのリソースをキャッシュし、各ページ/要求に対してそれらを再度要求しないためです。

于 2009-06-29T11:20:55.303 に答える
0

大量のデータをロードする UpdatePanel を使用していますか? その場合、ページはすべてのデータをフェッチするまでレンダリングされません。

ただし、UpdatePanel を拡張して、データをロードする前に表示することは可能です。この記事では、その方法について説明します(悲しいかな、オランダ語ですが、コード内のコメントは英語だったと思います) 。

于 2009-06-29T11:31:09.727 に答える