我有一个WCF RIA Silverlight项目,其中我添加了一些通用方法(即非实体查询)。这些工作正常,我能够返回自己的域对象。我的问题是,如果我尝试返回一个子类型(例如下面的FooData而不是Data),我的服务调用将在异步执行中出现无用的NotFound错误。
public Data GetData() { }
public class Data { }
public class FooData : Data { }
我正在使用VS 2010 SP1,所以到目前为止我没有必要以任何方式标记它们。但我一直认为我可能需要添加一个KnownType属性。我尝试在Data类上放置一个[KnownType(typeof(FooData)]但是我收到一个错误,告诉我我不能将该属性放在复杂类型上。
WCF能否以这种方式返回多态类型?
感谢,
答案 0 :(得分:0)
看看这些。
http://systemmetaphor.blogspot.com/2010/01/wcf-ria-services-using-inheritance.html http://martinkruszynski.blogspot.com/2010/02/wcf-ria-services-part-iii-inheritance.html