2011-12-30 26 views
2

WCFサービスとドメインオブジェクトのインターフェイスを1つのソリューションに宣言することは可能ですか?クライアントソリューションでは、その機能を実装できますか? (地理的にはそれは別の解決策です)。可能であれば、どの技術を遵守すべきですか? RESTサービスに行くべきですか?インターフェイスとドメインオブジェクトを1つのソリューションに含めることは可能ですか?wcfサービスの別のソリューションで実装することは可能ですか?

答えて

0

別のインターフェイスと実装プロジェクト/ソリューションを使用する場合(インターフェイスプロジェクトにもサービスメソッドによって使用されるオブジェクトのインターフェイスが含まれている場合)、WCFサービスインターフェイスはインターフェイスプロジェクトの一部ではなく、実装プロジェクト

WCFサービス操作では、インターフェイス型を(相互運用可能な方法で)シリアル化できないため、メソッドシグネチャにインターフェイス型を使用しないでください。実装タイプを使用する必要があるため、実装プロジェクトに含める必要があります。そうしないと、インターフェイスプロジェクトから実装プロジェクトに参照を追加する必要があるためです。それは設計が貧弱であり、実装とインタフェースの分離を無駄にすることになります。

1

はい、インターフェイスとデータオブジェクトを1つのソリューションに含めることができ、別のソリューション(これは実際にWCFサービスを含むものになります)でインターフェイスを実装できます。

このようにすると、WCFサービスのクライアント(インターフェイスを制御している場合)がインターフェイスとオブジェクトを含むアセンブリを参照できるようになります。そのようにして生成する必要はありません。

これはWCFを実行する標準的な方法であり、使用されるバインディングとは独立しています。

+0

あなたは私の答えで言及した問題にどのように対処しますか? – Peladao

+1

@Peladao AFAIKはサービスのインターフェース定義について話しているので、答えを理解できません。サービスのメソッドからインターフェースを戻さないためです。 – Ray

+0

私は、インターフェイスソリューションには、サービスメソッドで使用されるドメインオブジェクトの種類のインターフェイスも含まれていると想定していましたが、そうでない場合があります。 – Peladao

関連する問題