我有一个基于 TCP 的自托管 WCF 服务。我现在正在构建一个使用该服务的项目,但似乎至少有两种方法可以将服务引用添加到项目中,并且两者都会产生截然不同的代理。首先,我使用项目菜单中的“添加服务引用”,但这会生成相当多的文件,甚至是核心 .Net 类型的一些 XML 模式。然后我尝试了只生成两个文件的 SvcUtil,一个代理和一个包含服务引用和绑定参数的配置文件,这要好得多但是......
在这两种情况下,VS 工具似乎都重现了类型定义,即使我提供了对包含服务及其使用的所有类型的程序集的引用。例如,我的一些服务方法返回实体类的通用集合。所有实体类都是在我直接从消费项目引用的程序集中定义的,那么为什么要再次重新定义这些类型呢?
如果有人可以就使用返回实体类型的 WCF 服务以及它们遵循的任何最佳实践提供一些建议,我将不胜感激。