このトピックについても同様の質問がありましたが、同じ問題を解決しているかどうかは完全にはわかりませんでした。だから、明確にする...WCF内に既存のビジネスオブジェクトを公開する
タイプ、ビジネスロジック、データアクセス用の名前空間を持つ既存のクラスライブラリがあります。ロジックおよびデータアクセス名前空間のクラスは静的であり、型インスタンスをデータで埋める基本的な方法、またはすでにいっぱいであり、データベースに挿入や更新を行う型インスタンスを取る基本的な方法があります。
ここでは、このライブラリを直接参照する既存のアプリケーションに加えて、WCFサービスも作成して、他のアプリケーションがそのようなオブジェクトと方法を使用できるようにしたいと考えています。
私が見るすべてのWCF turorialは、サービスプロジェクトにドメインオブジェクトを作成しますが、私は2つの場所でオブジェクトを定義したくありません。
私は既存のクラスライブラリで直列化を参照し、型クラスを[DataContract]とプロパティを[DataMember]としてマークすることができると考えていました。次に、WCFプロジェクトで、[OperationContract]メソッドを使用して[ServiceContract]インターフェイスを作成し、公開する既存のライブラリの静的ロジッククラスとメソッドを照合します。次に、WCFプロジェクトから、既存のクラスライブラリを参照し、既存のライブラリタイプを返す既存のライブラリロジックメソッドを呼び出すメソッドを持つことによって、WCFインターフェイスを実装します。
これは良いパターンですか?
ありがとうございます。実際には言及していませんでしたが、私がやろうとしていることの1つは、図書館をサービスの消費者に出荷することではありません。 –