我WCF service
负责公开服务并与本地database MSSQL
建立联系。
我在一些项目中生成此服务的客户端,例如Proj1
和Proj2
。在Proj3
我引用了Proj1
和Proj2
。我想使用数据库中的类型,但它们位于不同的名称空间(Proj1.ServiceReference.TablePerson
,Proj2.ServiceReference.TablePerson
)。
如何解决此问题?我想使用像转换/适配器这样的每种类型(表)都不是最好的解决方案。
答案 0 :(得分:3)
与您的类共享一个dll,并从服务器和客户端引用它。
创建wcf引用时,请确保已设置“从现有程序集重用类型”。这将使生成的代理依赖于共享的dll代码,并且每次创建Web引用时都不会创建新的代理类型。
答案 1 :(得分:1)
您应该创建一个单独的项目来创建服务引用,然后Proj1
Proj2
和Proj3
都引用该项目。这样,您只需为服务引用生成一组类。