0

我有一个带有方法的 WCF 服务:

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

在引用的类库项目中,我有 2 个类:

[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为每个可能的传入参数类型重载方法?

谢谢

4

1 回答 1

2

你可以试试:

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

    [DataMember]
    public RequestTypeEnum RequestType { get; set; }
}
于 2013-07-01T11:35:43.850 回答