WCF でサブクラスを転送する際に少し問題があります。一般的な「フィードバック」クラスを作成し、フィードバックからサブクラス化したいと思います:成功クラスと失敗クラス (失敗にはエラーコードと説明があります)。これにより、クライアントは次のようなことができるようになります。
If (myWCFclient.authenticate(user, password) is Succes)
{
..
}
私の WCF データ契約では、次のように定義しました。
[DataContract]
public class Feedback : IFeedback
{
}
[DataContract]
public class Succes : Feedback
{
}
[DataContract]
public class Failure : Feedback
{
[DataMember]
public int errorCode { get; set; }
[DataMember]
public String description { get; set; }
}
これは非常にうまく機能します。私の操作契約は次のようになります。
[OperationContract]
Feedback Authenticate(String email, String password);
しかし、これらのクラスを受け取る「クライアント」アプリケーションでは、クラスとして「フィードバック」しか見つかりません。「成功」と「失敗」はどこにもありません。
私が間違っていることを誰かが知っていますか?これらの「成功」および「失敗」クラスは、「フィードバック」をサブクラス化しているため、DataContracts で異なるものとして定義する必要がありますか?
前もって感謝します。