2009-03-13 16 views
4

たとえば、顧客、注文および製品がある場合。これらのビジネスエンティティごとに個別のサービスを作成していますか?WCF:ビジネスエンティティごとの個別サービス

これらのそれぞれについてサービス契約を作成するのが理にかなっています。しかし、あなたのサービスが実装する契約を明示的に指定する必要があるので...このような種類のサービス契約は、それぞれのサービス契約ごとに別個のサービスを作成する必要がありますか?

これをどのように処理するか教えてください。どういうわけか、それは多くのおかげに関しては、事前に

:-(...これまでのビジネスエンティティのためのサービスを持つことが不格好な感じ。

答えて

6

サービス事業体に作用するが、ビジネスエンティティではありません。

顧客だから、注文と商品はサービス契約ではなくデータ契約になります。

サービス契約を構成するデータ契約で実行するアクションで、エンティティに公開するアクションは、エンティティが行うことができるすべてであるdo。

各エンティティが共通の機能(例:CRUD操作)を持っている場合は、各エンティティ(CustomerCRUDService、OrderCRUDServiceなど)のCRUDサービスに対して個別のサービス担当者が必要です。メソッドシグネチャのオーバーロードをサポートしていません。

(コメントより)

いくつかの方法があります。

1)コンポジットサービス契約:たとえば、私はWSTransferを実装するサービスを持っています。これは実際には2つのサービスコントラクトIWSTransferResourceとIWSTransferFactoryで構成されています。 IWSTransfer:IWSTransferResource、IWSTransferFactory

2)しかし、複雑になる必要はありません.WCFの実装では複数のサービス契約を実装することができます。 MyServiceImpl:IMyContract1、IMyContract2。ただし、エンドポイントは実装クラスではなく、サービス契約のためのものであるため、各契約には個別のエンドポイントが必要です。

+0

こんにちはブローダート、 私ははっきりしていたはずです。私の質問は:すべてのServiceContractについて、あなたは別のサービスを持っていなければなりませんか? ご回答いただきありがとうございます。 –

+0

あなたは私が大したことではないことを確認しました:-) もう一度ありがとう! –

関連する問題