2012-04-23 14 views
0

私はWCFで私の運を試しています。サービスからクライアントにデータをどのように転送すればよいか分かりません。データ消費のためのWCF SOAベストプラクティス

私は自分のデータベースにWorkerエンティティを持ち、各作業者にはいくつかのタスクがあるとします。 サービスはWorkerエンティティのみを転送し、追加の要求によってタスクを実行するか、またはエンティティに既にタスクが含まれているかどうかを確認します。

+0

いつも通り:*それは*に依存します。たとえば、単なる労働者のリストを表示する - その後、各労働者のためにすべての仕事のコレクションを転送することは役に立たず、時間の無駄です。ただし、1人のワーカーを表示したい場合は、そのタスクをWorkerエンティティとともに転送すると、2回目の呼び出しを避けるために多くの意味があります。 –

答えて

2

どちらの方法も正しいです。それは、ワーカーがタスクなしで存在できるかどうかによって決まります。=>クライアントがワーカーをフェッチするだけのシナリオはありますか?そうであれば、ワーカーとタスクをフェッチするための別個のメソッドを持つことができます。しかし、毎回クライアントが2つの要求を送信する場合、常に作業者に関連するタスクが必要な場合は、集約ルートを使用するほうがよいでしょう。パフォーマンス面では、複数の小さなリクエストではなく、1つの大きなリクエストを送信する方がよいでしょう。

+0

「Chatty」と「Chunky」とも呼ばれる – GazTheDestroyer

+0

Togetherはパフォーマンス上のメリットと思われるかもしれませんが、タスクの数が多い場合や時間の経過とともに大きくなる場合は、大きなペイロードのためにこのパフォーマンスの向上が相殺されます。正しい答えはありませんが、コンテキスト駆動型の解決策だけです。 – Chandermani

関連する問題