次のシナリオがあります。
私の環境はVisualStudio2010、Framework4.0です。
特定の(かなり複雑な)オブジェクトを含む制御できないdllがあります。wcfサービスでそのオブジェクトを呼び出してから、それをクライアントアプリケーションに渡す必要があるため、クライアントアプリケーションは引き続きそのオブジェクトを処理します。
wcfでデータコントラクトを作成します。次のようになります。
[DataContract]
public class Test
{
[DataMember]
public dllCustomObjectType MyTest;
}
次に、このデータコントラクトのインターフェイスを作成します。
interface ITest
{
[OperationContract]
dllCustomObjectType GetMyTest(int Id);
}
次に、インターフェイスを実装し、クライアントアプリケーションで実装されたメソッドを使用します。
クライアントアプリケーションには、私が制御していない同じdllへの参照があります。
実行しようとすると(実際、サービス参照を更新しても)、要求が失敗し、メタデータに解決できない参照が含まれているというエラーが表示されます。
データコントラクトでそのオブジェクトを複製することはできますが(これは大変な作業です)、オブジェクトを再作成せずにそのオブジェクトタイプの値をクライアントアプリケーションに渡す方法があるかどうか疑問に思っています。
何か助けていただければ幸いです。
ありがとう!