なぜ私のアプリケーションの1つが非常にゆっくり実行されているのか探していました。アプリケーションは、グリッドを生成して表示し、作業タスク(表のセルとしてレンダリング)を使用してデータを生成します。各タスクの内部には、<a href="...
があり、タスクに関するさらに詳しい情報が表示されます。HtmlGenericControl( "a")対HtmlAnchor
これはすべてコードビハインドから動的に構築されているため、HTMLTableRows/Cells
を使用して行とセルを作成し、次にControls
プロパティを使用してHTMLAnchors
を追加しました。私はHTMLAnchor.HRef
を使用しました属性、HTMLTableCell.ColSpan
など
を設定してるときはいつでも、私は例えば、私は一般的なHTMLGenericControl
を使用して、そのAttributes
コレクションを使用している場合ことに気づきました
HTMLGenericControl a = new HTMLGenericControl("a");
a.Attributes["href"] = task.getLink();
それは私が考えたが、同じことをやっての好ましい方法である持っているだろうかよりもかなり速く実行されます。
HtmlAnchor a = new HTMLAnchor;
a.HRef = task.getLink();
誰もがこの見かけ上の余分な「オーバーヘッド」はどこから来るのための任意の説明を持っていますか?
EDIT
誰が私の説明で混乱している場合は、私がscreenshotを持っている同じプロジェクト、のために別の質問を投稿しました。
あなたは遅いとはどういう意味ですか? HTMLをレンダリングするのにブラウザがしばらく時間がかかりますか?それとも、HTMLを生成するのに時間がかかりますか? system.webセクションのWeb.Configに、次の ' 'を追加すると、費やしたのは –
@s_hewitt本当に便利です。ページロードの開始と終了とレンダリングの開始と終了の間に最大の遅延があるように見えます。 GenericControlアプローチを使用すると、時間はほぼ半分になります。 – Arj
ページを処理する合計時間は、レンダリングとどのくらい比較されますか?たとえば、トレースの合計時間が1秒ですが、ページがブラウザにロードされるまでに5秒かかる場合は、ページの転送が遅くなるか、レンダリングが遅くなります。 –