.net WCF数据服务代理类

.net WCF数据服务代理类,.net,wcf,wcf-data-services,.net,Wcf,Wcf Data Services,我敢肯定这是一个愚蠢的问题,但不管怎样,还是这样。我有一个WCF数据服务公开一个对象,比如说Person。此Person对象位于命名空间Domain.Person中。我有一个客户端,带有WCF数据服务的代理。此客户端具有与引用的Domain.Person类一起使用的代码。但是,代理返回的是另一种类型Client.Person,它抱怨无法在这两种类型之间转换 那么,除了我的愚蠢(可能),代理不应该返回一种类型的Domain.Person吗?如果不是,客户是否应该是不同的人?抱歉,有点困惑。我没有使

我敢肯定这是一个愚蠢的问题,但不管怎样,还是这样。我有一个WCF数据服务公开一个对象,比如说Person。此Person对象位于命名空间Domain.Person中。我有一个客户端,带有WCF数据服务的代理。此客户端具有与引用的Domain.Person类一起使用的代码。但是,代理返回的是另一种类型Client.Person,它抱怨无法在这两种类型之间转换


那么,除了我的愚蠢(可能),代理不应该返回一种类型的Domain.Person吗?如果不是,客户是否应该是不同的人?抱歉,有点困惑。

我没有使用WCF数据服务的经验,但在我看来,代理生成了自己版本的Domain.Person类,并且正在使用它。
添加“普通”wcf服务引用时,可以指定在生成代理时可以重用其类型的程序集。它隐藏在您选择WCF服务的对话框的“高级”按钮下。
如果您确定已启用此功能,我将尝试打开生成的代理(显示您可以看到生成的.cs文件的所有文件),并将类型与域类型进行比较。如果存在任何显著差异,请将其添加到域类型中,删除服务引用并再次添加。清洗-漂洗-重复


同样,我在WCF数据服务方面的经验是不存在的,因此可能有人有更切中要害的答案。

啊,没错,我检查了包含服务引用的项目,并注意到包含实际域对象的项目没有被引用。然后我尝试将其添加为引用,以了解客户端是Sliverlight,它无法引用域对象项目,因为这不是Silverlight项目。显然,域对象应该是客户端不可知的,还有其他想法吗?非常感谢您的帮助。您可以在silverlight类库中隔离域对象并在客户端和服务器中引用它(此操作从silverlight 4开始-请参阅),也可以创建silverlight类库并将文件链接到其中,如下所述: