2

誰もがどれがより速く動作するか知っていますか?

4

2 に答える 2

2

答えは、ビューページをどこからロードするかによって異なります。

テンプレート化されたヘルパーは、ビューオーバーライドがない場合、HTML出力を生成するために舞台裏で文字列を操作しているため、わずかなエッジがあります。

入力ビルダーは、埋め込みリソースまたは従来のファイルシステムを介してビューをロードします。従来のファイルシステムは、ハードコードされた文字列操作よりも常にわずかに遅くなります。

両方のコードは類似しており、基本的に同じ量のリフレクションとメタデータ処理を実行します。ファイルやリソースの読み込みに問題がなければ、どちらも1ミリ秒未満で実行されます。組み込みリソースまたはファイルシステムコールを介してカスタマイズされたテンプレートソーシングを使用すると、パフォーマンスの低下は両方で同じになります。

于 2010-04-26T15:00:39.823 に答える
2

入力ビルダーの埋め込みリソースは、WebFormViewエンジンを介して提供されます。Webconfigでアプリケーションがdebug=falseに設定されている場合、ビューエンジンはビューをキャッシュするため、アセンブリから1回だけロードされます。入力ビルダーが少し遅くなる本当の理由は、マスターページを使用して維持するHTMLを減らすためです。たとえば、エディタテンプレートは入力を生成します。同等の入力ビルダーは、ラベル、入力、および2つの周りのhtml'chrome "を生成するため、一度指定して、入力ビルダーを使用するすべてのフォームに適用できます。入力ビルダーは、実際には次の規則を適用するためのものです。フォームのマークアップがどのように構築され、それがあなたに制御を与えるだけでなく、あなたのhtmlフラグメントを「DRY」に保つ方法でそれを行います(あなた自身を繰り返さないでください)。

すべてのように、トレードオフがあります。入力ビルダーの場合、実行時のパフォーマンスと開発者の生産性をトレードオフします。結局のところ、公開Webサイトに優れたパフォーマンスのフォームが必要な場合は、MVCアクションに投稿する静的なhtmlファイルをサーバーに保存するのが最善の方法です。

于 2010-04-30T02:42:49.017 に答える