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
方法?
感谢
您可以尝试:
[DataContract]
[KnownType(typeof(CustomRequest))]
public abstract class RequestBase
{
[DataMember]
public string Id { get; set; }
[DataMember]
public RequestTypeEnum RequestType { get; set; }
}