我创建了几个WCF服务。为了避免在我的每个客户端项目中添加服务引用,我创建了一个包含所有服务引用的代理项目,并且每个项目都可以用作dll引用。 问题是我的每个客户端项目中仍然需要一个app.config文件。 这让我想到了这个问题:
有解决方法吗?
或更准确:
有没有办法使客户端项目独立于我在代理项目中使用的WCF实现?
答案 0 :(得分:0)
在WCF中,您基本上可以在配置(大多数情况下是首选方式)或代码中执行所有操作。
因此,您绝对可以使用生成的代理接口和类,并将端点等烘焙到客户端项目中的代码中。
但是再次 - 使用配置通常是首选方式(更灵活)。但是如果你必须 - 你也可以使用代码行完成(几乎)所有事情。
如果您确实想使用配置,则需要将相关部分添加到客户端应用程序的配置文件中。
“集中”和共享该信息的一种方法是将尽可能多的信息放入单独的配置文件中 - 例如您可以为行为创建一个配置文件并将其命名为behaviors.config
,另一个配置文件名为clients.config
。
在您客户的应用程序中,您可以引用这些常见的共享配置:
<system.serviceModel>
<behaviors configSource="behaviors.config" />
<client configSource="clients.config" />
</system.serviceModel>
你根本没有任何配置就无法逃脱 - 但你绝对可以集中并分享大量的配置资料,然后多次重复使用。