まず、この質問が以前に尋ねられた場合は申し訳ありませんが、これに直接答えるものは見つかりませんでした。
これが私の問題です。私は非常に柔軟に設計された製品を継承しており、(silverlight) フォームのほぼすべてのコンボボックスとテキストブロックにデータを入力するにはサービス リクエストが必要です。一部の画面では、入力するだけで 15 回以上の個別のリクエストが必要になります。
現在、私は WCF Web サービスを何度も使用してきましたが、サービス コントラクトを小さな個別の操作に分割することは、あまりヒットしたことはありません..悲しいことに、これはこのプロジェクトには当てはまりません。それで、それは私に疑問を残しました...
私たち自身の壁の外にサービスを公開する計画はありません。この特定のサービス用に別のクライアントを作成する予定はありません。では、サービス エンドで「ユース ケース コントローラ」を作成することはできませんか? したがって、「苦情の作成」画面では、次のようなリクエストのリストを表示する代わりに...
- GetComplaintTypes
- GetCustomerTypes
- GetAreaDetails
- 等々...
フォームに入力するには、'GetCreateComplaintData' という単一の操作コントラクトが必要です。クライアントが 1 つしかない場合に、これほど多くの操作がこのような粒度で公開されるのは、クレイジーに思えます。クライアントは、これらすべてのリクエストを集約して同期し、意味のあるものにする必要があります。そもそも意味のあるものを公開しないのはなぜですか?
さらに言えば、サービス API をサードパーティに公開するつもりがない場合、これは DB 内のテーブルの CRUD ops を公開するよりも優れた戦略ではないでしょうか?
すべてのヘルプと意見をお待ちしております。前もって感謝します。