WCF DataContract与DataContract接口的区别

10

我是新手,对WCF不太熟悉。

可以让DataContact类继承接口吗?

例如:

[DataContract(Namespace = ...........)]
public class VesselSequence : IVesselSequence
{

    [DataMember]
    public int AllocationId { get; set; }

    [DataMember]
    public string ScenarioName { get; set; }
}

interface VesselSequence : IVesselSequence
{
    public int AllocationId { get; set; }
    public string ScenarioName { get; set; }
}
2个回答

5
你可以这样做:
[DataContract(Namespace = ...........)]
public class VesselSequence : IVesselSequence
{
    [DataMember]
    public int AllocationId { get; set; }
    [DataMember]
    public string ScenarioName { get; set; }
}

interface IVesselSequence
{
    int AllocationId { get; set; }
    string ScenarioName { get; set; }
}

很遗憾,您不能这样做:
public class VesselSequence : IVesselSequence
{
    public int AllocationId { get; set; }
    public string ScenarioName { get; set; }
}

[DataContract(Namespace = ...........)]
interface IVesselSequence
{
    [DataMember]
    int AllocationId { get; set; }
    [DataMember]
    string ScenarioName { get; set; }
}

3

当然可以,但请记住,如果您返回接口类型,则必须为反序列化引擎定义KnownTypes属性,以便它可以在另一端反序列化您发送的接口。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接