C# WCF代理类
在我正在处理的一个项目中,有两个模型类,其中大多数继承自一个基类,基类用带有子类类型的属性标记 在我的服务中,函数返回基类的一个对象,函数的实现当然会返回其中一个子类 当我使用Visual Studio创建代理类时,它只会在代理中创建基类,而不创建任何子类,因为服务中没有直接返回子类实例的方法C# WCF代理类,c#,wcf,proxy,C#,Wcf,Proxy,在我正在处理的一个项目中,有两个模型类,其中大多数继承自一个基类,基类用带有子类类型的属性标记 在我的服务中,函数返回基类的一个对象,函数的实现当然会返回其中一个子类 当我使用Visual Studio创建代理类时,它只会在代理中创建基类,而不创建任何子类,因为服务中没有直接返回子类实例的方法 我的问题是,有没有一种方法可以强制代理生成器为子类生成类,即使它们没有直接用于服务?使用ServiceKnownTypeAttribute: [DataContract] [KnownType(typeo
我的问题是,有没有一种方法可以强制代理生成器为子类生成类,即使它们没有直接用于服务?使用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);
你设法解决了你的问题吗?