【问题标题】:WCF Proxy ClassWCF 代理类
【发布时间】:2013-10-09 16:07:29
【问题描述】:

我在一个正在处理的项目中,有几个模型类,其中大多数都从一个基类继承,基类标有带有子类类型的属性。

在我的Service中,函数返回一个基类的Object,函数的实现当然会返回其中一个子类。

当我使用 Visual Studio 创建代理类时,它只会在代理中创建基类而没有任何子类,因为服务中没有方法可以直接返回子类的实例。

我的问题有没有办法强制代理生成器为子类生成类,即使它们没有直接在服务中使用?

【问题讨论】:

  • 您的问题解决了吗?

标签: c# wcf proxy


【解决方案1】:

使用ServiceKnownTypeAttribute:

[DataContract]
[KnownType(typeof(ResponseType1))]
[KnownType(typeof(ResponseType2))]
public class BaseResponseType
{
    ...
}

[DataContract]
public class ResponseType1: BaseResponseType
{
    ...
}

[DataContract]
public class ResponseType2: BaseResponseType
{
    ...
} 

那么你的服务操作:

[OperationContract]
BaseResponseType ProcessSomething (Something thing);

【讨论】:

    猜你喜欢
    • 2013-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多