さまざまな種類を格納/取得できる WCF サービスの構築を検討しています。次の例は実行可能であり、許容できる設計と見なされますか?
[ServiceContract]
public interface IConnection
{
[OperationContract]
IObject RetrieveObject(Guid ObjectID);
[OperationContract]
Guid StoreObject(IObject NewObject);
}
[ServiceContract]
[ServiceKnownType(IOne)]
[ServiceKnownType(ITwo)]
public interface IObject
{
[DataMember]
Guid ObjectID;
}
[ServiceContract]
public interface IOne:IObject
{
[DataMember]
String StringOne;
}
[ServiceContract]
public interface ITwo:IObject
{
[DataMember]
String StringTwo;
}
このサービスを使用する場合、子の型を StoreObject メソッドに渡し、RetrieveObject メソッドから子の型として取得できる必要があります。
より良いオプションはありますか?
ありがとう、ロブ