WCF では、複数の操作コントラクトを使用する方が良いのか、ポリモーフィック データ コントラクトを使用する操作コントラクトを 1 つだけ持つ方が良いのか疑問に思っていました。
ちょっとした例を挙げましょう:
[OperationContract]
action1Answer action1(action1data a);
[OperationContract]
action2Answer action2(action2data a);
また
[OperationContract]
actionAnswer action(actionContract a);
アクション コントラクトは、action1Contract と action2Contract の両方が継承する抽象クラスになります。アクション コントラクトはdo()
、そのインターフェイスでメンバー関数を指定し、子クラスでオーバーロードする必要があります。
個人的には、派生した actionContract でデータとアクションを適切にカプセル化でき、新しいアクションを簡単に追加できるため、2 番目のアプローチの方が興味深いと思います。しかし、私が WCF を使用するのは初めてなので、おそらくよく知っているでしょう!