サービスアーキテクチャを使用するように再設計している既存のasp.netWebアプリケーションがあります。WCFサービスの始まりがあり、問題なく呼び出して関数を実行できます。データを更新する限り、それはすべて理にかなっています。たとえば、[注文を送信]というボタンがあり、データをサービスに送信して処理を実行します。
懸念事項は次のとおりです。注文のリストを表示するASP.NETページ([注文の表示]ページ)があり、上部に注文タイプのドロップダウンリストや、クエリによって入力されるその他の検索条件があります。データベースとは異なるテーブル(ルックアップテーブルなど)。最終的には、WebアプリケーションをDBから完全に切り離し、データコントラクトを使用して、BLL、SOA、およびWebアプリ間で情報を渡すことを望んでいます。そうは言っても、[注文の表示]ページを読み込むために必要なWCF呼び出しの数を減らすにはどうすればよいですか?BLLの個々の関数によって入力されるため、注文のリストを取得するために1回の呼び出しを行い、ドロップダウンリストごとに1回の呼び出しを行う必要があります。
[注文の表示]ページを1回のショットで表示するために必要なすべてのもので構成される特殊なデータコントラクトを返すWebサービスメソッドを作成するのは良いアーキテクチャですか?この擬似コードのようなもの:
パブリッククラスViewOrderPageDTO {{ public OrderDTO [] Orders {get; セットする; } public OrderTypesDTO [] OrderTypes {get; セットする; } public OrderStatusesDTO [] OrderStatuses {get; セットする; } public CustomerListDTO [] CustomerList {get; セットする; } }
または、page_loadイベントで、ページのロードに必要なデータを取得するために、SOAに対して5、6、または15の個別の呼び出しを行う方が適切ですか?したがって、他のDTOを統合する特殊なwcfメソッドまたはDTOの必要性を回避しますか?
ご意見、ご提案ありがとうございます。