WCF.如何将自定义DataContact类型添加到WCF客户端引用

本文关键字:WCF 添加 客户端 引用 类型 DataContact 自定义 | 更新日期: 2023-09-27 18:20:37

我有一个WCF服务,方法是:

[OperationContract]
public bool TestCustomRequest(RequestBase request)
{
    return true;
}

在参考的类库项目中,我有两个类:

[DataContract]
public abstract class RequestBase
{
    [DataMember]
    public string Id { get; set; }
    [DataMember]
    public RequestTypeEnum RequestType { get; set; }
}

和继承类:

[DataContract]
public class CustomRequest : RequestBase
{
    [DataMember]
    public string CompanyId { get; set; }
}

在客户端添加服务引用时,只能看到RequestBase类。是否可以将所有继承RequestBase的类添加到服务引用中,并在客户端初始化它们?

或者我必须为每个可能的传入参数类型重载TestCustomRequest方法?

感谢

WCF.如何将自定义DataContact类型添加到WCF客户端引用

您可以尝试:

[DataContract]
[KnownType(typeof(CustomRequest))]
public abstract class RequestBase
{
    [DataMember]
    public string Id { get; set; }
    [DataMember]
    public RequestTypeEnum RequestType { get; set; }
}