我很确定这是一个愚蠢的问题,但无论如何都要进行。我有一个WCF数据服务公开一个对象,让我们说Person。此Person对象位于名称空间Domain.Person中。我有一个客户端与WCF数据服务的代理。此客户端具有与引用的Domain.Person类一起使用的代码。但是,代理返回的是另一种类型,Client.Person,它抱怨无法在两者之间进行转换。
所以,除了我是愚蠢的(可能),是不是代理应该返回一种Domain.Person?如果没有,Client.Person应该不一样吗?对不起,有点困惑。
答案 0 :(得分:1)
我没有使用WCF数据服务的经验,但在我看来,代理生成了自己的Domain.Person类版本并正在使用它。
添加“普通”wcf服务引用时,可以指定在生成代理时可以重用类型的程序集。它隐藏在您选择WCF服务的对话框的“高级”按钮下
如果您确定已启用此功能,我会尝试打开生成的代理(显示所有文件,您可以看到生成的.cs文件)并将类型与您的域类型进行比较。如果存在任何显着差异,请将它们添加到域类型中,删除服务引用并再次添加。洗涤 - 重复洗涤......
同样,我对WCF数据服务的体验不存在,所以也许有人会有更多的答案。