WCF中的可重用集合类保存在代理中的不同名称空间下

时间:2012-06-19 07:32:26

标签: wcf ambiguity

  

可能重复:
  Ambiguous reference in WCF and client application

我在WCF中使用来自程序集“X”的几个类,而我的客户端代码使用相同的程序集来引用其他类。 这使得必须在客户端应用程序中保持程序集“X”的引用。

导致冲突,因为我在客户端获得的代理使得程序集“X”中的类保持在不同的名称空间下。

请建议任何解决方案。

2 个答案:

答案 0 :(得分:0)

请勿使用预先生成的代理。如果您要在服务和消费者代码之间共享程序集,那么只需共享WCF合同程序集,然后在需要时使用ChannelFactory创建代理。

答案 1 :(得分:0)

@Ashish你已经问过这样的问题了。当客户端需要使用代理生成的某些类进行引用时,显然会出现模糊错误。

有两种方法可以避免此问题。

  1. 直接在客户端引用服务合同/数据合同程序集,而不是使用svcutil.exe创建代理,而是使用@hugh建议的ChannelFactory。

  2. 如果您是通过VS创建代理,那么您可以配置为使svcutil.exe工具不重新创建客户端已有的类,因为我在此thread中回答了您。