0

私たちのチームは、ASP.NET を使用して新しい Web サイトを構築しています。3 層アーキテクチャを使用する予定です。問題は、Web ページに表示されるコントロールを顧客の要件に応じて常に変更する必要があることです。つまり、顧客が必要とするときに、ラベル/テキスト ボックスのペアを追加したり、ラベル/ドロップダウン リストのペアを削除したりします。そのため、レイアウトは柔軟で、コントロールを簡単に追加または削除できる必要がありますが、価格、割引、税などの簡単な製品メッセージが表示されるだけです。

以前のバージョンの Web サイトでは、コントロール名、コントロール タイプ (テキスト ボックス、ラベル、ドロップダウン リスト)、それが属するページとパネルなど、すべてのコントロール情報がデータベースに保存されていました。パフォーマンスが大幅に低下したことがわかります。このページへのリクエストがあるたびに、リクエストがポストバックであるかどうかに関係なく、必要なすべてのコントロールをデータベースから取得して手動でページに追加する必要があります。

コントロールを .aspx ページに直接追加することも考えましたが、この場合、後で変更するのは困難です。また、すべてのコントロールの情報を XML ファイルに保持することも検討しました。これにより、パフォーマンスが少し向上する可能性がありますが、常にコントロールをレンダリングする必要があります。

これは、アプリのパフォーマンスを向上させ、同時にユーザーのニーズを満たすために私たちが抱えている問題です。誰かが解決策やアイデアを手伝ってくれますか?

PS: 説明が不十分だった場合は、質問することもできます。よろしくお願いします。

4

2 に答える 2

0

これが、私がフレキシブル Web アプリケーションと呼んでいるものです。

Web ページに表示されるコントロールは常に変更する必要があります

誰がコントロールを変更しますか? クライアント?コントロールの変更が要求されるたびに、.aspx ファイルを更新してサーバーに公開することはできませんか?

とにかく、興味深い質問です。XML ファイルを使用する以外にできることは他にありません。

于 2012-07-09T05:21:08.257 に答える
0

これは、 User Controlsにとって良い状況のように思えます。子コントロールの可視性を切り替えるだけの場合は、切り替え可能な可視性プロパティを持つユーザー コントロールを作成することで、ニーズを満たすことができます。バックエンドを使用して可視性を切り替えることはできますが、ページ スキーマ全体ではなく、データベースから yes/no フラグを取得するだけで済みます。

アーキテクチャの観点から、ユーザー コントロールはモジュール性、コードの再利用を促進し、バージョン管理 (UsercontrolV1.cs、UserControlsV2.cs など) に適しているため、優れています。バージョン管理のポイントは、変更要求でロジックの更新が必要な場合、または単純に x 回前に存在したビルドに戻す必要がある場合に特に役立ちます。

于 2012-07-09T04:03:44.087 に答える