WCF向后兼容性问题

时间:2020-03-05 18:39:19  来源:igfitidea点击:

我有一个WCF服务,必须从.net 2.0项目中引用。

我尝试使用"添加网络引用"方法来引用它,但是它弄乱了参数。

例如,我在服务中有一个方法希望传递一个char [],但是当我添加Web引用时,该方法期望一个int []。

因此,然后我尝试设置svcutil,并且工作正常。
我只能通过向.net 2.0项目添加一堆.net 3.0引用来编译服务类。这与建筑师的关系不佳,所以我必须做到这一点(也许也是最好的)。

所以我想知道是否有人对我如何设置.net 2.0项目以引用WCF服务有任何指示或者资源。

解决方案

回答

我们需要编辑WSDL的那些实例之一。首先是一个有用的工具

http://codeplex.com/storm

回答

感谢资源。它当然可以帮助我测试Web服务,但是在.net 2.0应用程序中使用WCF服务并没有多大帮助。

我最终最终要做的是回到架构师,并解释说,我需要参考的3.0 dll已重新编译以在2.0 CLR上运行。我们不一定喜欢该解决方案,但由于似乎没有太多可行的选择,我们现在将继续使用它

回答

我们使用的是什么绑定?我认为,如果坚持basicHttp绑定,我们应该能够使用.net 2项目中的"添加Web参考"方法生成代理?

也许如果我们发布合同/接口定义可能会有所帮助?

干杯
理查德

回答

我正在使用basicHttp绑定,但是问题实际上出在XMLSerializer上。除了基本值类型以外,它无法正确识别WCF生成的wsdl(即使使用basicHttp绑定)。

我们通过添加对3.0 dll的引用并使用datacontract序列化程序来解决此问题。