相关疑难解决方法(0)

将WCF与抽象类一起使用

如何在WCF中为抽象类定义DataContract?

我有一个类"人",我使用WCF成功通信.现在我添加一个从Person引用的新类"Foo".一切都还不错.但是当我将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; …
Run Code Online (Sandbox Code Playgroud)

.net wcf abstract-class datacontract

21
推荐指数
1
解决办法
9681
查看次数

标签 统计

.net ×1

abstract-class ×1

datacontract ×1

wcf ×1