Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法从WCF RIA Silverlight服务返回子类型_Silverlight_Wcf_Ria - Fatal编程技术网

无法从WCF RIA Silverlight服务返回子类型

无法从WCF RIA Silverlight服务返回子类型,silverlight,wcf,ria,Silverlight,Wcf,Ria,我有一个WCF RIA Silverlight项目,其中添加了一些通用方法(即非实体查询)。这些工作正常,我能够返回自己的域对象。我的问题是,如果我试图返回一个子类型(例如下面的FooData而不是Data),我的服务调用在异步执行中会出现一个没有帮助的NotFound错误 public Data GetData() { } public class Data { } public class FooData : Data { } 我使用的是VS2010SP1,所以到目前为止,我没有必要对它们

我有一个WCF RIA Silverlight项目,其中添加了一些通用方法(即非实体查询)。这些工作正常,我能够返回自己的域对象。我的问题是,如果我试图返回一个子类型(例如下面的FooData而不是Data),我的服务调用在异步执行中会出现一个没有帮助的NotFound错误

public Data GetData() { }
public class Data { }
public class FooData : Data { }
我使用的是VS2010SP1,所以到目前为止,我没有必要对它们进行任何标记。但我被引导相信我可能必须添加一个KnownType属性。我尝试在数据类上放置一个[KnownType(typeof(FooData)],但我得到一个错误,告诉我不能将该属性放置在复杂类型上

WCF应该能够以这种方式返回多态类型吗

谢谢,

看看这些


http://martinkruszynski.blogspot.com/2010/02/wcf-ria-services-part-iii-inheritance.html

恐怕这些都没用。第一个(混淆了超类和子类的术语)似乎显示KnownType属性的用法。但是,当我尝试在上面的帖子中所述的数据类上使用KnownType时,我收到一个错误,告诉我不能将其放在复杂类型上。如果有人有一个返回多态类型的WCF服务的工作示例,我希望看到它。谢谢-Pat。我能够获得fi第一个示例开始工作。虽然我没有使用complextype,只是使用了几个POCO。我还能够将KnownType att.放在complextype上。你是怎么做到的?你是在创建complextype的一部分吗?谢谢-在与它斗争了很多小时后,我尝试将代码切换到silervlight的普通WCF服务(与RIA linq to entity服务相反)并且能够得到一个示例。我认为silverlight的WCF RIA服务有问题……奇怪的是,我使用的是WCF RIA,即使您使用的是linq,您也可以从DomainService继承。当我说“普通WCF服务”时,我应该澄清一下,我所做的是将模板用于“启用Silverlight的WCF服务"。我认为这解决了我面临的许多问题,包括继承问题,以及无法返回列表等复合类型,以及无法返回异构集合的类型对象……所有这些都是在我从linq到entities域服务切换到支持silverlight的WCF服务时开始工作的ce模板…(在本例中,我不需要客户端的实体查询功能,所以这无关紧要)。