2012-01-03 3 views
1

私はQの& Aのカップルを持っています、baiscally参照のためだけです、彼らは質問や回答を追加することはできません。質問がクリックされるまで 回答は表示されません、そしてQ & Aは、下線質問は太字で表示されます形式でフォーマットされているなどダイナミックコントロールの作成とスタティックコントロールのパフォーマンス

これらのQ & Aがしかしのために、多くのことを変更するつもりはありません別の顧客が異なるQ & A.

以前の開発者はすべてQ & Aをサーバー側で表示したり非表示にしたり、ページ上で静的にしたりしました。

私は別の顧客のために新しいQ &にページを作成するときに、将来的に考えると、私は、各Q & Aのための適切なスタイルを記述する必要があります(行ずつ、IDを割り当て、破る、それ大胆、質問のためにアンダーライン) 。

Q & Aをすべてテキストファイルに入れて、パーサーを使ってテキストファイルを解析し、すべてQ & Aを動的に作成するのは良い考えですか?したがって、各Qの書式を変更する必要がある場合&表示方法は、コントロールの作成方法を変更するだけです。その場合は、すべてのコントロールをクライアント側にする方が簡単です。

しかし、もう1つのことは、このページが同時に多くのユーザーによって使用されることです。ダイナミックコントロールの作成がページのパフォーマンスに大きな影響を与えるかどうか疑問に思いますか?それを動的にする価値がありますか?

答えて

2

パフォーマンスは(1)定義され、(2)測定可能になるまでは問題ありません。

ダイナミックファイルとスタティックファイルの場合と同じです。それは実際にソリューションがどれくらい単純か複雑かによって決まります。それがちょうどQ &と書式設定の場合、html & cssは、動的サーバー側のソリューションよりもはるかに意味があります。

+0

ええと、私はこれが本当だと思う、今はちょうど実際にサンプルです。私はちょうどIDと関連付けられるようにすべての古いスクリプトを変更するので、私はCSSとJavaスクリプトで使用できると思います。ありがとう。 –

+0

IDが必要です。いくつかの従来のhtmlとクラスの命名は、この作業を行うには十分です。 –

0

動的にコントロールをビルドすることは、素晴らしいアイデアのように聞こえるため、問題のパフォーマンスを向上させるものではありません。テキストファイルから質問のデータを読み込むことはできません。そのアプローチには大きな問題があります(並行性&ロック、IOのパフォーマンス)。データを格納および取得するには、データベース技術を使用する必要があります。

ユーザーコントロールを使用して質問を作成する場合、ユーザーコントロールで出力キャッシュを使用することで、パフォーマンスの問題を緩和できます。このようにして、必要でない場合は、一連の質問を繰り返し再生する必要はありません。

+0

を持っている私は、アプリケーションの起動でそれを読んで、静的にそれをキャッシュするために考えています他のすべてのユーザーは同じリストから読み取るだけです... –

+0

データベースからもキャッシュできます。私はまだファイルを使用することをお勧めします。負荷に基づいて、多くのアプリケーションスレッドが同時に開始できます。あなたのアプリがファイルシステムにアクセスできるようにすることで、可能な限り避けるべきであるというセキュリティ上の懸念が生じます。あなたはデータベースを再発明しています。あなたはそれを心配する人よりも賢くなり、DBプロバイダを使用しましょう。 – Arbiter

0

ダイナミックプレースホルダを使用すると、ポストバックを追加/削除したり、コントロール/コントロールの状態をポストバック全体に渡したりすることも容易になります。

このオプションは、あなたのための生活がより簡単になるだろうと、このダイナミックコントロールライブラリ

見テキストファイルから質問を読んhttp://www.denisbauer.com/ASPNETControls/DynamicControlsPlaceholder.aspx

関連する問題