OperationContract の入力パラメーターとしてインターフェイスを使用しています。しかし、クライアント側でプロキシ クラスを生成すると。ITransaction インターフェイスを実装するインターフェイスまたはクラスのメンバーにアクセスできません。私はオブジェクトです
サービス インターフェイス
[ServiceContract] public interface IServiceInterface { [OperationContract] string SyncDatabase(ITransaction TransactionObject); }
サービスクラス
class SyncService:IServiceInterface { public string SyncDatabase(ITransaction TransactionObject) { return "Hello There!!"; } }
インターフェース
public interface ITransaction { ExpenseData ExpData { get; set; } void Add(ITransaction transactionObject); }
データ契約
[DataContract] public class Transaction:ITransaction { [DataMember] public ExpenseData ExpData { get; set; } public void Add(ITransaction transactionObject) { } }
上記の場合、クライアントの iTransaction クラスとインターフェイスもコピーする必要があります