简体   繁体   English

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

[英]WCF. How to add custom DataContact types to WCF Client reference?

I have a WCF service with method: 我有一个方法的WCF服务:

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

In referenced Class Library project I have 2 classes: 在引用的类库项目中,我有2个类:

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

    [DataMember]
    public RequestTypeEnum RequestType { get; set; }
}

And inherited class: 并继承了类:

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

When on client side I'm adding service reference, I can see only RequestBase class. 在客户端我添加服务引用时,我只能看到RequestBase类。 Is it possible, to add all classes that inherits RequestBase into service reference and initialize them on client side? 是否有可能将所有继承RequestBase类添加到服务引用中并在客户端初始化它们?

Or I have to overload TestCustomRequest method for each possible incoming parameter type ? 或者我必须为每个可能的传入参数类型重载TestCustomRequest方法?

Thank you 谢谢

You could try: 你可以尝试:

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

    [DataMember]
    public RequestTypeEnum RequestType { get; set; }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM