2011-07-05 4 views
1

大きなデータ入力アプリケーションでは非常に厳しい要件があります。何百ものフィールド、タブ、モーダルポップアップなどを含む単一のフォームを想像することができます。究極のASP.NET Webformsアーキテクチャは何ですか

質問は、私がそれを速くするために実装できる最高のAjaxアーキテクチャは何ですか?

私は、クライアント上の軽量json非同期呼び出し、およびサーバー上の非同期操作について考えていました。私はまた、サーバー上でhtmlを構築するのではなく、クライアント上でHTMLテンプレートを検討していました。

あなたの意見を教えてください。

ありがとうございます。

+1

"高速"は必須ではありません。要件はSMART(特定、測定可能、達成可能、関連および時間制約)でなければなりません。では、最大応答時間は正確にはどうしたらよいでしょうか?システムには何人の同時ユーザーがいますか?時間が経つにつれて急速に成長するユーザー数を正確に把握するには、スケールアップ(単一のサーバーに多くの電力を加える)の代わりに、スケールアウト(サーバーの追加)を容易にするアーキテクチャを選択します。 – Steven

+0

私が速いと言ったとき、私はブラウザでレンダリングのスピードについて主に考えました。このアプリケーションは200〜300人の同時ユーザーによって使用され、少なくとも最初の1年間は急速に成長しません。応答時間は2秒未満でなければなりません。 –

+0

私は*これらが私の厳しい要求であることを望みます: -/ – EBarr

答えて

1

jQueryとHTMLの組み合わせを使用して、サーバー側のコールバックでクライアントメソッドと.netメソッドを使用します。非同期呼び出しは良好ですが、必ずしも最良の選択ではありません。覚えておいてください。基本的には、多くのマークアップを生成するため、できるだけ少数のサーバー側コンポーネントを使用してください。

キャッシングのようなパフォーマンスを向上させる技術者もいます。これは、.aspxページやWebサーバー自体など、さまざまな場所で行うことができます。

可能であれば、viewstateをオフにします。これは、多くの不要なマークアップを生成する可能性があります

0

[OK]を私はそれを言うことは嫌ですが、あなたが望むものは不可能です。あなたはそれに要素のhudredsを持つフォームを持つことはできませんし、それはまだよく実行しています。もちろん、 "うまくいく"というのは主観的ですが、(インターネットのような)可変帯域幅を持つ高遅延ネットワーク接続で優れたパフォーマンスを得る唯一の方法は、非常に小さな要素セットで作業することです。

+0

彼はそれ自体がインターネットアプリケーションだと言っていませんが。それは可能かもしれませんが、LAN環境でしか動作しない可能性があります。この場合、可変帯域幅の問題はそれほど適用されません。私たちの会社では、巨大なデータ入力Webアプリケーションがありますが、インターネット経由ではなく、LAN経由でアクセスします。 – hdougie

+0

あなたの言っていることを理解していますが、要件は厳しく、変更することはできません。だから私はstackoverflowでこの質問をしたので、少なくとも十分な解決策を得ましょう:) –

+2

あなたはまだ空を求めています。あなたは貨物列車のデータを移動したいが、フォーミュラ1のレースカーと同じくらい速くしたい。あなたは厳しい要件があると言いますが、どのように非特異的であったかを誰でも助けることは不可能です。 –

0

AJAX-Enabled WCF Servicesを使用すると、JQueryとJQuery Templatesを使用すると、ネットワークスループットのパフォーマンスが向上し、ユーザーの操作性が向上します。

しかし、これには価格が付いています。このようなアプリケーションの開発、デバッグ、およびメンテナンスは、定期的に開発されたASP.NETアプリケーションにとっては非常に困難です。

これはトレードオフです。あなたに伝えたいのは、伝統的な方法でフォームを分割したり、保存を続けるウィザードのようなタイプの入力画面。 JQueryを使用して、ユーザーエクスペリエンスとキャッシングを改善して、アプリケーションのパフォーマンスを向上させることができます。ビューステートに注意を払い、UpdatePanelを必要に応じて使用するとさらに多くの助けになります。

1

私は、JQuery ajaxとASP.NET MVC 3の組み合わせを使用します。これら2つを組み合わせると、完全に非同期のアプリケーションを簡単に作成できます。また、MVCの性質上、HTMLテンプレートを使用できます。 MVC3テンプレートを使用します。

関連する問題