我有一个方法的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
方法?
谢谢
答案 0 :(得分:2)
你可以尝试:
[DataContract]
[KnownType(typeof(CustomRequest))]
public abstract class RequestBase
{
[DataMember]
public string Id { get; set; }
[DataMember]
public RequestTypeEnum RequestType { get; set; }
}