使用除生成的类之外的其他DataContract类

时间:2013-12-17 12:45:30

标签: c# wcf datacontract

我们的客户向我们发送了一个用于其Web服务API的WSDL文件。我们使用Visual Studio的“添加服务引用”来使用它。

但是:我们只想生成服务代理,而不是数据契约类。我们希望重用已引用的程序集中已有的类。

  • 如何指示“添加服务引用”以不创建数据合同类?
  • ...或者如何指示WCF使用引用程序集中的数据协定类?

3 个答案:

答案 0 :(得分:2)

这取决于“添加服务参考”的高级...部分中的以下选项:

enter image description here

也会映射到/r中的/reference / svcutil.exe选项。

这默认为启用,因此如果它不起作用:您的类型很可能不是完全匹配。确保完全匹配的最简单方法是从两个项目引用相同的库dll,或者最坏情况相同的.cs文件(最好是dll引用,IMO)。数据协定命名空间和名称是这里常见的罪魁祸首,必须与完全匹配(必须与成员一致)。

答案 1 :(得分:1)

为项目添加数据合同类(甚至更好地为数据合同类创建新库并在服务和客户端重用),包括服务引用。添加新服务引用或更新现有引用时,请选择“在引用的程序集中重用类型”。

答案 2 :(得分:0)

这是旧的,但我对此有一点怀疑。 我可以在添加服务引用时访问类,这没关系 在Visual Studio中使用同一解决方案中的所有项目并添加“项目”引用时,我看不到这些类。

有没有办法使用Visual Studio中同一解决方案中的所有项目来测试客户端代码?

感谢