在Silverlight类lib中,使用来自引用库的业务对象的WCF服务的引用会创建没有服务客户端的代理

时间:2010-02-08 12:26:29

标签: wcf silverlight serialization

我有一个典型的设置。该解决方案包含用于业务对象的常规.NET类库,一个WCF项目,一个Silverlight项目和支持Web应用程序项目,以及一些silverlight类库。我的业务类库中的类都标有“[serializable]”属性。 WCF服务有一个方法,它将返回业务类库中一个对象的List。当我在silverlight类库项目中添加此服务的引用时,生成的代理没有任何错误,但此代理不包含任何服务定义或服务接口本身。它确实包含我从服务返回的业务对象中包含的完整对象模型的定义,但是如果没有对服务客户端的实际引用,我将无法调用该服务。设置或实施此设置是否存在问题?

3 个答案:

答案 0 :(得分:1)

您是否已将属性[OperationContract][ServiceContract]添加到WCF界面?

答案 1 :(得分:0)

确保您的业务对象标记为[DataContract]。它包含的任何对象也需要用该属性标记。

编辑:由于您不想修改第三方代码,也许可以为您的服务创建手动代理,包括在那里定义的类型。

这是一篇关于使用WCF the Manual Way的文章。

答案 2 :(得分:0)

您是否尝试过使用命令行中的slsvcutil.exe tool生成代理而不是使用“添加服务参考”?这可能至少在生成代理时吐出一些警告,以帮助您追踪问题,并使您可以更好地控制代理的各种选项。