Как определить DataContract для абстрактных классов в WCF?
У меня есть класс "Person", с которым я успешно общаюсь с помощью WCF.Теперь я добавляю новый класс "Foo", на который ссылается Person.Все по-прежнему хорошо.Но когда я делаю Foo абстрактным и определяю подкласс, он терпит неудачу.Это терпит неудачу на стороне сервера с CommunicationException, но это действительно не говорит мне много.
Мои упрощенные классы сделаны для тестирования:
[DataContract]
public class Person
{
public Person()
{
SomeFoo = new Bar { Id = 7, BaseText = "base", SubText = "sub" };
}
[DataMember]
public int Id { get; set; }
[DataMember]
public Foo SomeFoo { get; set; }
}
[DataContract]
public abstract class Foo
{
[DataMember]
public int Id { get; set; }
[DataMember]
public string BaseText { get; set; }
}
[DataContract]
public class Bar : Foo
{
[DataMember]
public string SubText { get; set; }
}